每日五个pyecharts可视化图表-bars(6)

发布于:2025-08-08 ⋅ 阅读:(16) ⋅ 点赞:(0)

探索pyecharts库中条形图的高级用法与定制技巧
在这里插入图片描述

在数据可视化中,条形图是最常用的图表类型之一,它能够清晰地展示不同类别之间的数量对比。今天,我们将继续学习如何使用pyecharts创建5种不同风格的条形图。pyecahts源码

图表1:带内部数据缩放的条形图

第一个图表展示了如何创建带有内部数据缩放功能的条形图。这种图表允许用户在图表内部直接拖动来放大或缩小数据范围,非常适合查看大量数据的细节。

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

# 创建条形图对象
c = (
    Bar()
    # 添加x轴数据(天数标签)
    .add_xaxis(Faker.days_attrs)
    # 添加y轴数据系列,并设置随机颜色
    .add_yaxis("商家A", Faker.days_values, color=Faker.rand_color())
    # 设置全局配置项
    .set_global_opts(
        # 设置图表标题
        title_opts=opts.TitleOpts(title="Bar-DataZoom(inside)"),
        # 配置内部数据缩放控件
        datazoom_opts=opts.DataZoomOpts(type_="inside"),
    )
)
# 在notebook中渲染图表
c.render_notebook()

代码解释:

  • 使用Faker.days_attrs生成x轴数据(代表天数)
  • 使用Faker.days_values生成y轴数据(代表每天的数值)
  • color=Faker.rand_color()设置随机颜色
  • datazoom_opts=opts.DataZoomOpts(type_="inside")添加内部数据缩放功能
    在这里插入图片描述

图表2:默认取消显示某Series的条形图

第二个图表展示了如何创建带有多个数据系列,并默认取消显示其中一个系列的条形图。这种功能在比较多个数据系列时非常有用,可以让用户专注于特定的数据。

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())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Bar-默认取消显示某 Series"),
        legend_opts=opts.LegendOpts(selected_map={"商家B": False}),
    )
)
c.render_notebook()

在这里插入图片描述

代码解释:

  • 使用Faker.choose()生成x轴数据(随机选择的类别)
  • 添加了两个y轴数据系列:“商家A"和"商家B”
  • selected_map={"商家B": False}设置默认不显示商家B的数据系列
  • 用户可以通过点击图例来切换显示或隐藏不同的数据系列

图表3:翻转XY轴的条形图

第三个图表展示了如何创建翻转XY轴的条形图,也就是水平条形图。这种图表特别适合展示类别名称较长的情况,可以避免类别名称重叠。

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 轴"))
)
c.render_notebook()

代码解释:

  • 使用Faker.choose()生成x轴数据(随机选择的类别)
  • 添加了两个y轴数据系列:“商家A"和"商家B”
  • reversal_axis()方法用于翻转XY轴,将条形图变为水平方向
  • label_opts=opts.LabelOpts(position="right")设置标签显示在条形图的右侧
  • 水平条形图特别适合展示类别名称较长的数据集
    在这里插入图片描述

图表4:自定义标记点的条形图

第四个图表展示了如何在条形图上添加自定义标记点。标记点可以突出显示特定数据点,使其更加醒目,便于读者快速抓住关键信息。

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

x, y = Faker.choose(), Faker.values() 
c = (
    Bar()
    .add_xaxis(x)
    .add_yaxis(
        "商家A",
        y,
        markpoint_opts=opts.MarkPointOpts(
            data=[opts.MarkPointItem(name="自定义标记点", coord=[x[2], y[2]], value=y[2])]
        ),
    )
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-MarkPoint(自定义)"))
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
)
c.render_notebook()

代码解释:

  • 使用Faker.choose()Faker.values()生成x轴和y轴数据
  • markpoint_opts=opts.MarkPointOpts()用于设置标记点
  • data=[opts.MarkPointItem(name="自定义标记点", coord=[x[2], y[2]], value=y[2])]添加一个自定义标记点,坐标为(x[2], y[2])
  • set_series_opts(label_opts=opts.LabelOpts(is_show=False))设置不显示条形图上的标签
  • 自定义标记点可以用于突出显示重要的数据点,如最大值、最小值或其他特殊值
    在这里插入图片描述

图表5:动画配置基本示例的条形图

第五个图表展示了如何为条形图添加动画效果。动画可以使图表更具视觉吸引力,提高用户体验,特别是在展示数据变化时非常有用。

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

c = (
    Bar(
        init_opts=opts.InitOpts(
            animation_opts=opts.AnimationOpts(
                animation_delay=1000, animation_easing="elasticOut"
            )
        )
    )
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-动画配置基本示例", subtitle="我是副标题"))
)
c.render_notebook()

代码解释:

  • init_opts=opts.InitOpts()用于初始化图表配置
  • animation_opts=opts.AnimationOpts()用于设置动画选项
  • animation_delay=1000设置动画延迟1000毫秒开始
  • animation_easing="elasticOut"设置动画缓动效果为弹性输出
  • set_global_opts(title_opts=opts.TitleOpts(title="Bar-动画配置基本示例", subtitle="我是副标题"))设置图表标题和副标题
  • 动画效果可以使图表在加载时更加生动,吸引用户的注意力
    在这里插入图片描述

通过以上五个图表,我们学习了如何使用pyecharts创建不同风格的条形图,包括内部数据缩放、取消显示特定系列、翻转XY轴、添加自定义标记点以及设置动画效果。这些技巧可以帮助您创建更加丰富和专业的数据可视化图表。


网站公告

今日签到

点亮在社区的每一天
去签到