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

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

相关推荐
海阔天空_201327 分钟前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
零意@36 分钟前
ubuntu切换不同版本的python
windows·python·ubuntu
思忖小下1 小时前
Python基础学习_01
python
q567315231 小时前
在 Bash 中获取 Python 模块变量列
开发语言·python·bash
是萝卜干呀1 小时前
Backend - Python 爬取网页数据并保存在Excel文件中
python·excel·table·xlwt·爬取网页数据
代码欢乐豆1 小时前
数据采集之selenium模拟登录
python·selenium·测试工具
狂奔solar2 小时前
yelp数据集上识别潜在的热门商家
开发语言·python
Tassel_YUE2 小时前
网络自动化04:python实现ACL匹配信息(主机与主机信息)
网络·python·自动化
聪明的墨菲特i2 小时前
Python爬虫学习
爬虫·python·学习
努力的家伙是不讨厌的3 小时前
解析json导出csv或者直接入库
开发语言·python·json