数据可视化Pyecharts第三天:直方图的绘制

大家好,今天分享的是如何使用Pyecharts绘制直方图。

昨天回顾:

1.我们了解pyecharts.faker模块的参数和使用

2.学会了xaxis_opts=opts.AxisOpts()来设置设置X轴参数

3.学习了如何在代码中查看图表

忘了的可以回顾一下Pyecharts第二天的内容:数据可视化Pyecharts第二天:参数认识 - 掘金 (juejin.cn)

好的,下面我们进入今天的内容:

javascript 复制代码
from pyecharts.charts import Bar  
from pyecharts.faker import Faker  
from pyecharts import options as opts  

bar = Bar()

bar.add_xaxis(Faker.choose())

bar.add_yaxis('商家A', Faker.values())

bar.add_yaxis('商家B', Faker.values())

bar.render_notebook()

我们首先绘制最简单的直方图:

from pyecharts.charts import Bar ; from pyecharts.faker import Faker; from pyecharts import options as opts 这三行代码分别是导入 Bar 类,用于创建柱状图; 导入 Faker 类,用于生成虚假的数据;导入 opts,用于设置图表的选项。

ini 复制代码
bar = Bar()

这行代码是创建了一个 Bar 对象,用于表示柱状图。

less 复制代码
bar.add_xaxis(Faker.choose())

这行代码使用 add_xaxis() 方法设置柱状图的 x 轴数据。Faker.choose() 是一个用于生成虚假数据的函数,它返回一个列表,作为 x 轴的取值。

less 复制代码
bar.add_yaxis('商家B', Faker.values())

这行代码使用 add_yaxis() 方法添加第一组柱状图的数据。'商家A' 是该组数据的名称,Faker.values() 是一个用于生成虚假数据的函数,它返回一个列表,作为该组数据的取值。 最后使用bar.render_notebook()对图表进行渲染即可。

接下来我们给直方图添加一些功能:

javascript 复制代码
from pyecharts.charts import Bar  

from pyecharts.faker import Faker 

from pyecharts import options as opts


bar = Bar()

bar.add_xaxis(Faker.choose())

bar.add_yaxis('A公司销售', Faker.values())

bar.add_yaxis('B公司销售', Faker.values())

bar.set_series_opts(

    markline_opts=opts.MarkLineOpts(

        data=[opts.MarkLineItem(type_='average', name='平均值')]
    )
)
bar.render_notebook()

我们从图像中可以看到我们在直方图所添加的功能,算出A公司销售和B公司销售的平均值。

我们添加了这段代码就可以达成这样的效果。

ini 复制代码
bar.set_series_opts(

    markline_opts=opts.MarkLineOpts(

        data=[opts.MarkLineItem(type_='average', name='平均值')]
    )
)

其实本质就是使用 set_series_opts() 方法设置柱状图的系列选项,添加了一个标记线(markline)选项。

markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_='average', name='平均值')])

这行代码创建了一个 MarkLineOpts 对象,并设置了标记线的选项。data 参数是一个列表,用于指定标记线的数据项。在这里,我们使用了 MarkLineItem 类创建了一个标记线项,设置了 type_ 参数为 'average',表示计算并显示平均值。name 参数设置了标记线项的名称为 '平均值'。除了平均值这个功能以外,我们还有其他的功能,大家感兴趣可以查略官方文档。

我们绘制了竖直直方图,那我们能不能绘制水平直方图呢?

javascript 复制代码
from pyecharts.charts import Bar  
from pyecharts.faker import Faker  
from pyecharts import options as opts  

bar = Bar()
bar.add_xaxis(Faker.choose())
bar.add_yaxis('商家A', Faker.values())
bar.add_yaxis('商家B', Faker.values())

bar.reversal_axis()

bar.render_notebook()

从代码中我们可以看出竖直直方图和水平直方图其实只有一行代码不一样。

就是这行代码bar.reversal_axis(),通过这行代码我们实现了将直方图进行翻转。

还有看起来更加高级的,就是我们能不能将商家A和商家B叠在一起呢,显得更加有逼格。

javascript 复制代码
from pyecharts.charts import Bar
from pyecharts.faker import Faker 
from pyecharts import options as opts  


bar = Bar()
bar.add_xaxis(Faker.choose())
bar.add_yaxis('商家A', Faker.values(), stack='stack')
bar.add_yaxis('商家B', Faker.values(), stack='stack')

bar.set_global_opts(title_opts=opts.TitleOpts(title='堆叠图'))

bar.render_notebook()

其实我们同样也只需要添加一点东西,就可以达成这种效果。

bar.add_yaxis('商家A', Faker.values())bar.add_yaxis('商家B', Faker.values())这两行代码中Faker.values() 的后面再加一个stack='stack'就好了,这个代码是堆砌的意思。最后就成这样:

arduino 复制代码
bar.add_yaxis('商家A', Faker.values(), stack='stack')
bar.add_yaxis('商家B', Faker.values(), stack='stack')

今天的知识点总结:

1.学会了绘制基本的直方图。 2.学会了给直方图添加平均数等标记线这一功能 3.学会了将直方图进行翻转 4.学会了绘制堆砌图

好了,今天就讲到这里了,希望与各位一起学习数据可视化,有问题可以在评论区提问,我非常愿意与大家一同探讨

相关推荐
小徐Chao努力4 分钟前
【Langchain4j-Java AI开发】06-工具与函数调用
java·人工智能·python
无心水7 分钟前
【神经风格迁移:全链路压测】33、全链路监控与性能优化最佳实践:Java+Python+AI系统稳定性保障的终极武器
java·python·性能优化
luoluoal34 分钟前
基于python的小区监控图像拼接系统(源码+文档)
python·mysql·django·毕业设计·源码
BoBoZz191 小时前
MotionBlur 演示简单运动模糊
python·vtk·图形渲染·图形处理
十八度的天空2 小时前
第01节 Python的基础语法
开发语言·python
BoBoZz192 小时前
GradientBackground 比较不同类型的背景渐变着色模式与坐标转换
python·vtk·图形渲染·图形处理
540_5402 小时前
ADVANCE Day32
人工智能·python·机器学习
STLearner2 小时前
AAAI 2026 | 图基础模型(GFM)&文本属性图(TAG)高分论文
人工智能·python·深度学习·神经网络·机器学习·数据挖掘·图论
小北方城市网2 小时前
Python + 前后端全栈进阶课程(共 10 节|完整版递进式|从技术深化→项目落地→就业进阶,无缝衔接基础课)
大数据·开发语言·网络·python·数据库架构
nvd112 小时前
故障排查:Pytest Asyncio Event Loop Closed 错误
python