我们之前使用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轴图形在我们工作中使用非常多,希望这篇文章能帮到大家!
更多技术文章