Python数据可视化:5种绘制柱状图表的方法(附源码)

更新时间:2023-07-09 22:24:56 阅读: 评论:0

Python数据可视化:5种绘制柱状图表的⽅法(附源码)本⽂的⽂字及图⽚来源于⽹络,仅供学习、交流使⽤,不具有任何商业⽤途,版权归原作者所有,如有问题请及时联系我们以作处理
以下⽂章来源于数据Magic,作者我不是⼩样
前⾔
⾥⾯有很多优秀的可视化库,matplotlib,aborn,plotnine,pyecharts,bokeh,plotly,mapbox,geoplotlib,甚⾄专门⽤来数据处理的pandas都可以做⼀些简单的绘图。今天我们就⽤五种⽅法来绘制柱状图,分别是
matplotlib,aborn,plotnine,pyecharts,pandas。
⾸先我们先导⼊数据。
1import pandas as pd  ## 导⼊pandas库
2
3list1 = [
4            "名字很长的X轴标签1",
5            "名字很长的X轴标签2",
6            "名字很长的X轴标签3",
7            "名字很长的X轴标签4",
8            "名字很长的X轴标签5"
9        ]
10
11
carbon black12list2 = [12,23,33,3,33]
13
14list3 = [3,21,5,52,43]
15
16
17data = pd.concat(
18        [
高兴的英文19        pd.concat([pd.Series(list1,name='x'),pd.Series(list2,name='value'),pd.Series(['product1']*5,name='product')],axis=1),
20        pd.concat([pd.Series(list1,name='x'),pd.Series(list3,name='value'),pd.Series(['product2']*5,name='product')],axis=1)
21        ]
22)
matplotlib是学习python数据分析必定接触到的⼀个库,是⽤来绘图的基础的库,也是其他各个库的基本库之⼀。
1import matplotlib.pyplot as plt  # 导⼊绘图库
2
furl3# 设置绘图直接显⽰wenjie
4%matplotlib inline
5
6# 设置绘图的整体表现
7plt.style.u('ggplot')  # 设置绘图主题为 ggplot
10
11# 设置画布⼤⼩
12plt.figure(figsize=(12, 7))
13
14# 绘制柱状图--堆积柱状图
15# 绘制下⾯的图
16plt.bar(
the reader17    left = unique(), ## 设置x轴内容
18    height = data.value[data['product'] == 'product1'],  ## 设置y轴内容
19    label = 'product1'  ## 设置标签
20)
21
22# 绘制上⾯的图
23plt.bar(
24    left = unique(), ## 设置x轴内容
25    height = data.value[data['product'] == 'product2'],  ## 设置y轴内容
26    bottom = data.value[data['product'] == 'product1'],  ## 设置上⾯的图以下⾯的图的数据为底
27    label = 'product2'  ## 设置标签
28    )
29
30## 设置图例标签,标签位置为上⾯中部,⽂字⼤⼩为15,图例是平铺(图例按两列排,即在⼀⾏)
31plt.legend(loc='upper center', fontsize=15, ncol=2)
我们这样就绘制出了⼀张堆积,其实matplotlib绘制柱状图是⽐较简单的,难点就在于绘制堆积柱状图需要绘制多次,分别以前⼀个图的顶部为下⼀个图的底部,这样就可以得到⼀个堆积柱状图了。
⼆、
aborn是基于matplotlib⽽做出来的⼀个可视化的封装库,相对于matplotlib的优点在于可以⽤⽐matplotlib更短的代码实现⽐较复杂的图像,缺点在于⽆法进⾏更强⼤的定制。
如果⽤matplotlib绘制分组柱状图,就需要与绘制堆积柱状图⼀样的⽅法,绘制多次,以前⼀个图的后部作为后⼀个图的前部,⽽⽤aborn就可以⽤⼀⾏代码就可以实现,也不需要指定颜⾊和宽度,可以以⼀个⽐较合理的宽度进⾏显⽰。
留学中介当然,aborn绘图也有其限制,如上图的堆积柱状图就⽆法绘制出来。
1
from plotnine import *  ## 导⼊plotnine 库2
3
## 绘制前加括号4
(5
ggplot(data,aes(x='x',y='value',fill='product')) ## 数据对象6
+ geom_bar(stat='identity',width=0.5) ## 绘制柱状图的API 7
+ theme(  ## 对绘图的表现进⾏调整8
text = element_text(family = "SimHei"),  ## 设置⿊体,可以显⽰中⽂9
legend_direction ='horizontal',  ## 图例⽔平呈现10
legend_title = element_blank(),  ## 图例标题不显⽰11
legend_background = element_rect('none'),  ##  图例没有背景⾊12
胶水英文legend_position = (0.52,0.83),  ## 设置图例位置13
figure_size = (9,5),  ##  画布的⼤⼩14洪恩小小幼儿英语
axis_title_x = element_blank(),  ## X 轴标题为空15
axis_title_y = element_blank()  ## Y 轴标题为空16          )17)
三、plotnine
R语⾔的绘图在数据分析的语⾔⾥⼀直是⽐较强的,⽽plotnine是德国的⼀个⼤神模仿R语⾔⾥⾯的ggplot2,在python库⾥开发的⼀个很强⼤的可视化库,可以绘制出很好看的库,相对于matplotlib更易上⼿,也更好调试。⽽且更有意思的是,由于plotnine库相对⼩众,许多查不到⽅法的可以直接去查询R语⾔⾥⾯的⼀些⽅法,基本上也可以对接的上。
司马昭之心路人皆知的典故之前也有⽂章介绍了plotnine的⼀些使⽤⽅法:plotnine绘制基本图像,plotnine绘制复杂图像,plotnine的主题库,⼤家可以看看。
1from plotnine import *  ## 导⼊plotnine库
2
3## 绘制前加括号
4(
sofo5    ggplot(data,aes(x='x',y='value',fill='product')) ## 数据对象
6    + geom_bar(stat='identity',width=0.5) ## 绘制柱状图的API
7    + theme(  ## 对绘图的表现进⾏调整
8            text = element_text(family = "SimHei"),  ## 设置⿊体,可以显⽰中⽂
9            legend_direction ='horizontal',  ## 图例⽔平呈现
10            legend_title = element_blank(),  ## 图例标题不显⽰
11            legend_background = element_rect('none'),  ##  图例没有背景⾊
12            legend_position = (0.52,0.83),  ## 设置图例位置
13            figure_size = (9,5),  ##  画布的⼤⼩
14            axis_title_x = element_blank(),  ## X轴标题为空
15            axis_title_y = element_blank()  ## Y轴标题为空
16          )
17)

本文发布于:2023-07-09 22:24:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1088062.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:绘制   设置   图例   柱状图   堆积   数据   需要
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图