问题遇到的现象和发生背景
Pyecharts将图例绘制在折线图外侧
遇到的现象和发生背景,请写出第一个错误信息
由于图例较多,希望将图里放在图里外侧。使用Grid()功能指定图像右侧留白,再指定图例位置可达成效果。
但目前由于折线图需要有双轴的功能,所以使用了overlap()对折线图进行重叠。此时再使用Grid()会使坐标轴副轴丢失。请问如何同时实现坐标轴双轴显示与图例在图像外侧显示。
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
import pandas as pd
import numpy as np
from datetime import datetime
from pyecharts import options as opts
from pyecharts.charts import Line, Bar, Grid
# 数据预处理:包含数据读取,剔除缺失值,时间格式转化
xiongyue20 = pd.read_csv()
data = xiongyue20[~xiongyue20['COD'].isna()]
#data['日期'] = data['日期'].apply(lambda x: datetime.strptime(x, "%Y/%m/%d"))
# 绘制折线图 Aline为降雨数据,Bline为污水厂场站数据
Aline = (
Line(init_opts=opts.InitOpts(width='1600px', height='800px'))
.add_xaxis(data['日期'].to_list())
.add_yaxis('降水量(mm)', data['P'].to_list(),is_symbol_show=False)
.extend_axis
(
yaxis=opts.AxisOpts(
axislabel_opts=opts.LabelOpts(formatter="{value}")
)
)
.set_global_opts
(
yaxis_opts=(opts.AxisOpts(max_=200)),
datazoom_opts=(opts.DataZoomOpts()),
tooltip_opts=opts.TooltipOpts
(
trigger='axis',
axis_pointer_type='line'
),
title_opts=opts.TitleOpts(title="水厂进水分析"),
legend_opts=opts.LegendOpts(item_width=80,item_height=30,orient='horizontal')
)
)
Bline = (
Line()
.add_xaxis(data['日期'].to_list())
.add_yaxis('进水量(万吨/日)', data['进水'].to_list(), yaxis_index=1, is_symbol_show=False)
.add_yaxis('COD(mg/L)', data['COD'].to_list(), yaxis_index=1, is_symbol_show=False)
.add_yaxis('BOD(mg/L)', data['BOD'].to_list(), yaxis_index=1, is_symbol_show=False)
.add_yaxis('TN(mg/L)', data['TN'].to_list(), yaxis_index=1, is_symbol_show=False)
.add_yaxis('TP(mg/L)', data['TP'].to_list(), yaxis_index=1, is_symbol_show=False)
.set_global_opts()
)
Aline.overlap(Bline)
grid=Grid()
grid.add(Aline,grid_opts=opts.GridOpts(pos_right="20%"))
Aline.render()