当前位置: 首页 > news >正文

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

探索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轴、添加自定义标记点以及设置动画效果。这些技巧可以帮助您创建更加丰富和专业的数据可视化图表。

http://www.dtcms.com/a/318750.html

相关文章:

  • 嵌入式硬件中MOSFET基本原理与实现
  • 基于 Socket.IO 实现 WebRTC 音视频通话与实时聊天系统(Spring Boot 后端实现)
  • C语言中级_动态内存分配、指针和常量、各种指针类型、指针和数组、函数指针
  • MATLAB科研数据可视化
  • cuda编程笔记(13)--使用CUB库实现基本功能
  • 嵌入式硬件中MOSFET基本控制详解
  • 嵌入式硬件学习(十一)—— platform驱动框架
  • OpenAI 开源模型 GPT-OSS深度拆解:从1170亿参数到单卡部署,重构AI开源生态
  • 亚马逊采购风控突围:构建深度隐匿的环境安全体系
  • 360纳米AI、实在Agent、CrewAI与AutoGen……浅析多智能体协作系统
  • LabVIEW实验室测试框架
  • 《深入浅出 Django ORM:设计理念与惰性查询实现详解》
  • 炫酷圆形按钮调色器
  • 共识算法介绍
  • macOS 彻底卸载 Python 的完整指南
  • Mac+Chrome滚动截图
  • mac中多版本JDK配置和切换
  • 数据推荐|标贝科技方言自然对话数据集 构建语音交互新基建
  • 两种格式数据介绍——bin 、 yuv文件
  • 【C语言】文件操作全解析
  • 【感知机】感知机(perceptron)模型与几何解释
  • 第14届蓝桥杯Scratch_选拔赛_初级及中级(STEMA)真题2022年12月18日
  • 深度学习之pytorch安装与tensor(张量)
  • 美式期权定价模型之Barone-Adesi-Whaley定价模型
  • Linux 防火墙(firewalld)详解与配置
  • 第14届蓝桥杯Scratch选拔赛初级及中级(STEMA)真题2022年10月30日
  • Linux中firewalld(防火墙)配置与管理指南
  • 【golang】基于redis zset实现并行流量控制(计数锁)
  • InfluxDB 集群部署与高可用方案(一)
  • C基础 15_day