当前位置: 首页 > 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.lryc.cn/news/613587.html

相关文章:

  • [激光原理与应用-170]:测量仪器 - 能量型 - 光功率计的工作原理与内部功能模块组成
  • 语言模型(LM):n-gram模型原理与困惑度(Perplexity)计算详解
  • 快速搭建vue3+flask实现一个异物检测项目
  • 深入理解“进程屏蔽字“(Signal Mask)
  • Qt——入门
  • STM32学习笔记4-OLED外部中断和中断系统
  • 【C#补全计划:类和对象(九)】接口
  • 【Agent】ReAct:最经典的Agent设计框架
  • RP2040下的I2S Slave Out,PIO状态机(三)
  • 解决winform中的listbox实现拖拽时,遇到combox控件会闪烁的问题
  • 数据库事务总结
  • 嵌入式开发硬件——单片机
  • Mac 电脑安装 ADB 环境完整指南
  • windows操作系统定时关机、重启指令记录
  • vue3对比vue2的性能优化和提升 :Vue 3 vs Vue 2
  • 重学React(三):状态管理
  • windows内核研究(内存管理-线性地址的管理)
  • Java集合的遍历方式(全解析)
  • 0807 IO线程的同步互斥
  • latex in overleaf快速通关论文排版
  • FPGA学习笔记——VGA显示静态图片(ROM IP核)
  • 【数据结构入门】双向链表
  • 深入理解 S7-200 SMART 的 “数据语言”:从位到字符串的格式密码
  • C++线程库的学习
  • 【JS】扁平树数据转为树结构
  • 蓝桥杯----数码管、按键、定时器与中断
  • 【感知机】感知机(perceptron)学习算法的收敛性
  • 代码随想录算法训练营 Day20
  • Redis面试精讲 Day 13:Redis Cluster集群设计与原理
  • P1037 [NOIP 2002 普及组] 产生数