数据可视化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.学会了绘制堆砌图

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

相关推荐
沐欣工作室_lvyiyi几秒前
家庭水资源节能系统设计(论文+源码)
c++·python·云平台·单片机毕业设计·单片机仿真·电子信息工程毕业设计·机械电子工程
FelixZhang0285 分钟前
量化求真10|回测通过以后,策略就能上场吗?
人工智能·python·深度学习·学习·机器学习·金融·lstm
Ticnix10 分钟前
你的 Agent 聊到第 20 轮就"失忆"?你管理的是历史,高手管理的是上下文
后端·python·agent
Raspberry_Pi_官方账号21 分钟前
Raspberry Pi 官方分享:利用 14MB 的 Function-Calling LLM 实现端侧自然语言硬件控制
python·树莓派·raspberry pi
醇氧30 分钟前
CentOS7.9 Yum 安装 Redis6.x(RPM 包,无需编译,推荐 remi 源)
linux·python
VidDown37 分钟前
文件没问题但网页播不了:播放器接入实战与那些“环境问题
python·网络协议·音视频·视频编解码·视频
智购科技自动售货机工厂1 小时前
数字人民币硬钱包支付失败,排查发现是NFC读卡器功率不足~YH
python·面试·架构·eclipse·emacs
维克兜率天1 小时前
【维克】均值回归:跌多了会涨,涨多了会跌
开发语言·笔记·python·算法·均值算法·回归·量化
databook1 小时前
用Pandas+Pydantic搭建数据清洗与验证管道
python·数据分析