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

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

相关推荐
小白学大数据21 分钟前
Scrapy框架下地图爬虫的进度监控与优化策略
开发语言·爬虫·python·scrapy·数据分析
浊酒南街21 分钟前
TensorFlow之微分求导
人工智能·python·tensorflow
立秋678927 分钟前
用Python绘制梦幻星空
开发语言·python·pygame
alpszero39 分钟前
YOLO11解决方案之对象裁剪探索
人工智能·python·计算机视觉·yolo11
白云千载尽1 小时前
相机、雷达标定工具,以及雷达自动标定的思路
python·自动驾驶·ros
咕噜咕噜啦啦1 小时前
python爬虫实战训练
爬虫·python
盛夏绽放1 小时前
Python字符串常用内置函数详解
服务器·开发语言·python
我想睡觉2611 小时前
Python训练营打卡DAY27
开发语言·python·机器学习
蹦蹦跳跳真可爱5891 小时前
Python----神经网络(基于DNN的风电功率预测)
人工智能·pytorch·python·深度学习·神经网络·dnn
冰轮a2 小时前
Python打卡 DAY 27
python