写点什么

软件测试|Python 数据可视化神器——pyecharts 教程(四)

  • 2023-11-07
    北京
  • 本文字数:1317 字

    阅读完需:约 4 分钟

前言

我们之前使用 pyecharts 绘制了柱状图,绘制了叠加柱状图,绘制了地理信息图,还绘制了饼状图,本篇文章我们主要讲解绘制双 y 轴的图形绘制。

柱状图 &折线图

日常工作中,当我们分析一个具体数据的增长趋势时,仅仅看量的变化并不能很直观很真实的看到趋势,我们还需要看到百分比的变化,但是绘制两个图的化,又不能很好的结合来看,那我们可以把两个图合并到一起吗,当然可以。pyecharts 支持我们绘制柱状图与折线图结合的图形。


我们以江西省近几年的 GDP 总量和 GDP 增速为例,绘制一个柱状图和折线图,代码如下:


from pyecharts.charts import *from pyecharts import options as opts

x_data = ['2016', '2017', '2018', '2019', '2020', '2021', '2022']y_data_1 = [18400, 20200, 22700, 24700, 25800, 29800, 32074]y_data_2 = [9, 8.8, 8.7, 7.9, 3.8, 8.9, 4.7]


def bar_line_combine_with_two_axis(): bar = Bar(init_opts=opts.InitOpts(theme='light', width='1000px', height='600px')) bar.add_xaxis(x_data) # 添加一个Y轴 bar.extend_axis(yaxis=opts.AxisOpts()) bar.add_yaxis('历年GDP(亿人民币)', y_data_1, yaxis_index=0)
line = Line(init_opts=opts.InitOpts(theme='light', width='1000px', height='600px')) line.add_xaxis(x_data) # 将line数据通过yaxis_index指向后添加的Y轴 line.add_yaxis('历年GDP增长率%', y_data_2, yaxis_index=1)
bar.overlap(line) return bar

chart = bar_line_combine_with_two_axis()chart.render_notebook()chart.render()
复制代码


生成的图像如下:



这样我们就完成了绘制柱状图与折线图双 y 轴图形的绘制。

双柱状图

很多时候我们除了看增长率,也会看增量,所以我们需要有总量和增量两个 y 轴,看增量的趋势。我们还是以江西省的 GDP 总量和增量数据来进行绘图。代码如下:


from pyecharts.charts import *from pyecharts import options as opts

x_data = ['2016', '2017', '2018', '2019', '2020', '2021', '2022']y_data_1 = [18400, 20200, 22700, 24700, 25800, 29800, 32074]y_data_2 = [1600, 1800, 2500, 2000, 1100, 4000, 2274]
def bar_line_combine_with_two_axis(): bar = Bar(init_opts=opts.InitOpts(theme='light', width='1000px', height='600px')) bar.add_xaxis(x_data) # 添加一个Y轴 bar.extend_axis(yaxis=opts.AxisOpts()) bar.add_yaxis('历年GDP(亿人民币)', y_data_1, yaxis_index=0) bar.add_yaxis('历年GDP增量(亿人民币)', y_data_2, yaxis_index=1)
return bar

chart = bar_line_combine_with_two_axis()chart.render_notebook()chart.render()
复制代码


绘制图表如下:


总结

本文主要介绍了使用 pyecharts 绘制双 y 轴图形的步骤,双 y 轴图形在我们工作中使用非常多,希望这篇文章能帮到大家!


获取更多技术资料,请点击!

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试|Python数据可视化神器——pyecharts教程(四)_霍格沃兹测试开发学社_InfoQ写作社区