5.Matplotlib绘图--柱状图、直方图、盒装图

1.垂直柱状图:bar

import matplotlib.pyplot as plt
import numpy as np
#绘制垂直和水平柱状图
#bar, barh
#垂直柱状图bar(X,Y)
y = [30,53,12,45]
#X,0,1,2,3
x = range(len(y))
plt.bar(x,y,facecolor='b',edgecolor='r',width=0.5)

plt.show()

width:要设置小于相邻柱状最小间隔,否则柱图会重叠

#width:指两个柱状之间的距离,一般要小于柱距离的最小值
#plt.bar([1980,1988,1995,2000],[1000,2000,3000,4000],width=1)

 

 

2.水平柱状图:barh

#水平柱状图
#plt.barh(x, y, facecolor='b', edgecolor='r', height=0.5)
plt.show()

3.同时绘制多组柱状图

import matplotlib.pyplot as plt
data = [[5,25,50,20],
        [4,34,65,16],
        [6,24,53,19]]

plt.bar(range(4),data[0],width=0.25)
plt.bar([x+0.25 for x in range(4)],data[1],width=0.25)
plt.bar([x+0.5 for x in range(4)],data[2],width=0.25)


plt.show()

 

多组水平柱状图

plt.barh(range(4),data[0],height=0.25)
plt.barh([x+0.25 for x in range(4)],data[1],height=0.25)
plt.barh([x+0.5 for x in range(4)],data[2],height=0.25)
plt.show()

4.叠加柱状图

import matplotlib.pyplot as plt
A = [5,30,45,22]
B = [5,25,50,20]
'''
X = range(4)
plt.bar(X,A,color='b')
plt.bar(X,B,color='r',bottom=A)
plt.show()
'''

 

叠加柱状图的numpy实现

import numpy as np
data = np.array([[5,30,45,22],
                [5,25,50,20],
                [10,40,50,20]])
color_list = ['b','g','r']
#data.shape[1]:数组列数
X = np.arange(data.shape[1])
for i in range(data.shape[0]):
    S = np.sum(data[:i],axis=0)
    print(S)
    plt.bar(X,data[i],bottom=S,color=color_list[i%len(color_list)])
    print("*"*88)
plt.show()

 

5.直方图和盒状图:

画法与柱状图类似,不同点在于,柱状图关注坐标值;而直方图更关注分布频率

import matplotlib.pyplot as plt
import numpy as np
#柱状图:关注X/Y轴值
#直方图hist:关注趋势 hist(data,value)
#x轴:data的值
#y轴:data值出现的频率
#盒装图: boxplot(data)
data = np.random.randn(100)
print(data)
print(np.average(data))
fig,(ax1,ax2) =plt.subplots(1,2,figsize=(8,4))
print(fig)
ax1.hist(data,100)
ax2.boxplot(data)
plt.show()

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值