[图表]pyecharts模块-反转柱状图

先来看代码:

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker

c = (
    Bar()
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .reversal_axis()
    .set_series_opts(label_opts=opts.LabelOpts(position="right"))
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-翻转 XY 轴"))
    .render("bar_reversal_axis.html")
)

再来看结果:

[图表]pyecharts模块-反转柱状图-LMLPHP
[图表]pyecharts模块-反转柱状图-LMLPHP
[图表]pyecharts模块-反转柱状图-LMLPHP

再来看解析:

这段代码使用了Python中的pyecharts模块来创建一个柱状图,并使用Faker模块生成了一些假数据。

首先,导入了需要的模块:

  • opts:包含一些图表配置选项的模块
  • Bar:用于创建柱状图的类
  • Faker:用于生成假数据的类

接下来,创建了一个Bar对象,并使用add_xaxis方法添加横坐标数据,这里使用了Faker.choose()生成了一组假的横坐标数据:

c = (
    Bar()
    .add_xaxis(Faker.choose())
    ...
)

然后,使用add_yaxis方法添加两个纵坐标系列,分别命名为"商家A"和"商家B",并使用Faker.values()生成一组假的纵坐标数据:

    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())

接着,使用reversal_axis方法翻转了横纵坐标轴:

    .reversal_axis()

这样,原本的横坐标变为纵坐标,纵坐标变为横坐标。

然后,使用set_series_opts方法设置系列选项,这里使用label_opts设置标签的位置为右侧:

    .set_series_opts(label_opts=opts.LabelOpts(position="right"))

这样,柱状图的标签会显示在柱子的右侧。

接着,使用set_global_opts方法设置全局选项,这里设置了图表的标题为"Bar-翻转 XY 轴":

    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-翻转 XY 轴"))

最后,使用render方法将图表渲染为一个HTML文件,并保存为"bar_reversal_axis.html":

    .render("bar_reversal_axis.html")

整个过程中,每个方法调用都返回了当前对象,所以可以使用链式调用的方式来依次添加数据和配置。最终,变量c存储了渲染图表的结果。通过翻转横纵坐标轴和设置标签位置,实现了柱状图的翻转显示效果。

注:图表资源来源于:
pyecharts-gallery
本站只提供常用图表与其解析

06-03 18:10