pyecharts 实现双 Y 轴

当需要在一张图中表示两种不同维度的的数据时,可以使用双 Y 轴。

在 pyecharts 中可用 Overlap 来实现。

上代码:

def draw_picture():
    columns = ['1月','2月','3月','4月']
    completion_rate = [0.6331,0.6426,0.6521,0.6711]

    line1 = Line("完成率与工作人数关系图", title_pos="right", title_top="bottom")
    line1.add("完成率",columns, completion_rate,is_label_show = True,yaxis_min = 0.51)
    
    worker_num = [275,241,255,248]
    
    line2 = Line()
    line2.add("工作人数", columns, worker_num, is_splitline_show = False ,line_type = 'dashed', line_width = '2',is_label_show = True,yaxis_min = 200)
    
    
    overlap = Overlap()
    overlap.add(line1, is_add_yaxis = True)
    overlap.add(line2, yaxis_index = 1, is_add_yaxis = True)

    overlap.render(r"/Users/csdn/pyecharts_example.html")

结果如下:

当然,不一定是两个都用折线图,也可以一个折线,一个柱状,这些都只是表现形式。

以上,问题解决~

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
要使用Pyecharts绘制Y图并生成HTML文件,可以使用Line类和Overlap类。下面是一个简单的例子: ```python from pyecharts import options as opts from pyecharts.charts import Line, Bar, Grid, Overlap from pyecharts.commons.utils import JsCode # 构造数据 x_data = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] y1_data = [820, 932, 901, 934, 1290, 1330, 1320] y2_data = [200, 182, 191, 234, 290, 330, 310] # 创建第一条线 line = ( Line() .add_xaxis(xaxis_data=x_data) .add_yaxis( series_name="Line 1", y_axis=y1_data, label_opts=opts.LabelOpts( is_show=False ), linestyle_opts=opts.LineStyleOpts( width=2, type_='dashed' ), itemstyle_opts=opts.ItemStyleOpts( color='blue' ) ) ) # 创建第二条线 bar = ( Bar() .add_xaxis(xaxis_data=x_data) .add_yaxis( series_name="Bar 1", y_axis=y2_data, label_opts=opts.LabelOpts( is_show=False ), itemstyle_opts=opts.ItemStyleOpts( color='red' ) ) ) # 将两个图形叠加在一起 overlap = Overlap() overlap.add(line) overlap.add(bar, yaxis_index=1) # 设置Y overlap.set_global_opts( yaxis_opts=[ opts.AxisOpts( type_="value", name="Line Y", axislabel_opts=opts.LabelOpts(formatter="{value}"), ), opts.AxisOpts( type_="value", name="Bar Y", position="right", axislabel_opts=opts.LabelOpts(formatter="{value}"), ), ] ) # 将图形保存为HTML文件 overlap.render("chart.html") ``` 在这个例子中,我们首先创建了两个数据系列,然后使用Line和Bar类分别创建两个图形。最后,我们使用Overlap类将这两个图形叠加在一起,并使用set_global_opts方法设置Y。最后,我们将图形保存为HTML格式的文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值