Pyecharts Bar类创建柱形图(非常详细)
在 Pyecharts 中创建柱形图需要使用 Bar 类。
为了可以创建一个基本的柱形图,需要使用 Bar 类的 3 个方法,其他很多图表类都包含这 3 个方法:
分析下面的代码:

图 1 柱形图
如需在 x 轴的每个数字结尾添加“月”字,可以使用列表推导式,代码如下:

图 2 修改 x 轴数据后的柱形图
如果有多组数据,则可以将它们同时创建到同一个柱形图中,每一组数据对应于一组柱形。下面的代码是使用两组数据创建的柱形图:

图 3 使用两组数据创建柱形图
如需为多组数据创建堆积柱形图,需要为每个 add_yaxis() 方法指定 stack 参数,并将其值设置为 True。下面的代码是为两组数据创建堆积柱形图:

图 4 堆积柱形图
为了可以创建一个基本的柱形图,需要使用 Bar 类的 3 个方法,其他很多图表类都包含这 3 个方法:
- add_xaxis():将数据添加到 x 轴。该方法只有一个参数 xaxis_data,表示要添加的数据,数据的类型需要是列表对象。
- add_yaxis():将数据添加到 y 轴。该方法有两个主要参数,series_name 参数表示数据系列的名称,y_axis 参数表示要添加的数据,数据的类型需要是列表对象。
- render():渲染图表,将图表输出到指定的 HTML 文件中。该方法的 path 参数表示文件的完整路径,如果省略该参数,则默认在当前工作目录中创建名为 render.html 的文件。
分析下面的代码:
from pyecharts.charts import Bar month = list(range(1, 7)) count = [20, 50, 90, 60, 30, 70] bar = Bar() bar.add_xaxis(xaxis_data=month) bar.add_yaxis(series_name='数量', y_axis=count) bar.render()将创建如图所示的柱形图:

图 1 柱形图
如需在 x 轴的每个数字结尾添加“月”字,可以使用列表推导式,代码如下:
from pyecharts.charts import Bar month = [str(i) + '月' for i in range(1, 7)] count = [20, 50, 90, 60, 30, 70] bar = Bar() bar.add_xaxis(xaxis_data=month) bar.add_yaxis(series_name='数量', y_axis=count) bar.render()创建的柱形图如下图所示:

图 2 修改 x 轴数据后的柱形图
如果有多组数据,则可以将它们同时创建到同一个柱形图中,每一组数据对应于一组柱形。下面的代码是使用两组数据创建的柱形图:
from pyecharts.charts import Bar month = [str(i) + '月' for i in range(1, 7)] bj = [20, 50, 90, 60, 30, 70] sh = [10, 30, 70, 20, 80, 10] bar = Bar() bar.add_xaxis(xaxis_data=month) bar.add_yaxis(series_name='北京', y_axis=bj) bar.add_yaxis(series_name='上海', y_axis=sh) bar.render()如下图所示:

图 3 使用两组数据创建柱形图
如需为多组数据创建堆积柱形图,需要为每个 add_yaxis() 方法指定 stack 参数,并将其值设置为 True。下面的代码是为两组数据创建堆积柱形图:
from pyecharts.charts import Bar month = [str(i) + '月' for i in range(1, 7)] bj = [20, 50, 90, 60, 30, 70] sh = [10, 30, 70, 20, 80, 10] bar = Bar() bar.add_xaxis(xaxis_data=month) bar.add_yaxis(series_name='北京', y_axis=bj, stack=True) bar.add_yaxis(series_name='上海', y_axis=sh, stack=True) bar.render()如下图所示:

图 4 堆积柱形图