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

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

相关推荐
梧桐树04291 小时前
python常用内建模块:collections
python
Dream_Snowar1 小时前
速通Python 第三节
开发语言·python
蓝天星空3 小时前
Python调用open ai接口
人工智能·python
jasmine s3 小时前
Pandas
开发语言·python
郭wes代码3 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
leaf_leaves_leaf3 小时前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零13 小时前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
404NooFound3 小时前
Python轻量级NoSQL数据库TinyDB
开发语言·python·nosql
天天要nx3 小时前
D102【python 接口自动化学习】- pytest进阶之fixture用法
python·pytest
minstbe3 小时前
AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python
人工智能·python·支持向量机