python hist函数_虎哥的python小技巧放送之绘制统计图(2)

先放出第一期让大家回顾一下上次的内容

虎哥的python小技巧放送之绘制统计图(1)

第一期主要给大家讲了一些图形设置的东西。这一次开始正式带大家画图~

折线图:折线图可以通过matplotlib中的.plot()函数实现,括号内直接填入数据即可

score=[121,132,137,145,149,153,158]plt.plot(score)plt.show()
2ff2b45ffd6487573e997960f1397373.png

在绘制折线图时还可以为折线图加上一个区间阴影,加入区间阴影的函数为.fill_between(x,y1,y2,where=条件表达式,color=颜色,alpha=透明度)。绘制出来最终会把在where条件下的y1与y2之间的范围填充。举例:

score=[121,132,137,145,149,153,158]plt.plot(score)x=list(range(7))y1=[120,125,130,135,140,145,150]y2=[125,135,145,155,165,175,185]print(x)print(y1)print(y2)plt.fill_between(x,y1,y2,where=None,color='pink',alpha=0.2)plt.show()
464a9e8e8245b4ae0ba20959ac507d5d.png

直方图:使用matplotlib中的.hist()函数进行绘制。括号中最少需要填入两个参数,第一个参数为要进行统计的数字,第二个参数为划分为几个区间来统计,其实第二个参数也可以不填写,系统自行判定划分为几个区间,看自己的需求来决定第二个参数。

score=[120,123,123,128,132,137,138,138,145,145,127,148,148,148,149,151,153,155]plt.hist(score,7)
5578697e9c04ca46e5dede94a76a7f2d.png

条形图:使用matplotlib()中的bar()进行绘制

首先先和大家区分一下直方图和条形图。条形图通常用来描述分类数据,如男女、学历、职业这种;而直方图是什么值都可以取得,用于连续型数据、如工资,3200可以,3200.1也可以。

条形图的画法

x=list(range(8))Y = [5,6,2,9,7,5,4,7]plt.bar(x,Y1,width = 0.6,facecolor = 'blue',edgecolor = 'black')plt.show()
9370488f2588878f5cf7f46a028f1e89.png

代码中的x是柱子对应类别的编号,画图是必须通过这个编号唯一标识某一类的。Y就是对应类别编号的数量,width对应柱子的宽度,取值范围(0,1),facecolor为柱子的填充色,edgecolor为柱子描边的颜色。

当我们想要绘制水平的条形图时需要使用另一个函数.barh()。其中表示柱子宽度的参数width将不再适用,现在更改柱子的粗细需要使用height。例:

x=list(range(8))Y1 = [5,6,2,9,7,5,4,7]plt.barh(x,Y1,height = 0.6,facecolor = 'blue',edgecolor = 'black')plt.show()
cdfcaa57ab34f815c55f29139c2e2800.png

其中还有一个参数bottom,他是绘制柱子的基准,通过更改这个参数可以绘制堆叠条形图。例如

x=list(range(8))Y1 = [5,6,2,9,7,5,4,7]Y2 = [3,6,4,3,5,6,5,4]plt.bar(x,Y1,width = 0.6,facecolor = 'blue',edgecolor = 'black')plt.bar(x,Y2,width = 0.6,facecolor = 'red',edgecolor = 'black',bottom=Y1)plt.show()

让Y2以Y1为基准开始绘制,就可以完成堆叠图。

ae88ce4954ca367520ddc0ea4eab07d3.png

现在观察上面的图,类别都用类别编号表示,读图时非常不直观。此时我们可以通过tick_label函数添加条形图的信息,例:

x=list(range(6))Y1 = [5,6,2,9,7,5]L=['one','two','three','four','five','six']plt.barh(x,Y1,tick_label=L,height = 0.6,facecolor = 'blue',edgecolor = 'black')plt.show()
98b21337ec01c325236b33ab3cdea132.png

虎哥今日python小课堂先到这啦~今天讲了三种图,所以大家知道的,一定还会有第三期~那我们下期见~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值