1.直方图
#做直方图
#使用hist函数,第一个参数bins为要分的多少面元,默认是10,我们设置的是20
pop= np.random.randint(0,100,100)#产生100个0-100的随机数
n,bins,patches = plt.hist(pop,bins=20,color='r')
plt.title("M10")
plt.show()
2.条状图
index = ['A','B','C','D','E']
values = np.random.randint(1,10,5)
plt.bar(index,values,alpha=0.7)
plt.title('M10')
plt.legend(['First'])
plt.show()
3.水平条状图
index = ['A','B','C','D','E']
values = np.random.randint(1,10,5)
plt.barh(index,values,alpha=0.5,color='red')
plt.title('M10')
plt.legend(['Second'])
plt.show()
4.dataframe
data = {
's1':[1,2,3,4,5],
's2':[2,4,3,5,1],
's3':[2,4,3,1,2]
}
df = pd.DataFrame(data)
df.plot(kind='bar')
5.多序列堆积条状图
#同样使用bai函数,设置属性值bottom为上一个
index = np.arange(5)
value1 = np.random.randint(1,10,5)
value2 = np.random.randint(1,10,5)
value3 = np.random.randint(1,10,5)
plt.axis([0,5,0,30])
plt.bar(index,value1,color='b')
plt.bar(index,value2,bottom=value1,color='r')
plt.bar(index,value3,bottom=value1+value2,color='g')
plt.xticks(index,['A','B','C','D','E'])#第二个参数为第一个的对应值
plt.show()
6.使用不同填充(非颜色)来区分
#使用hatch关键词
index = np.arange(5)
value1 = np.random.randint(1,10,5)
value2 = np.random.randint(1,10,5)
value3 = np.random.randint(1,10,5)
plt.axis([0,5,0,30])
plt.bar(index,value1,hatch='///')
plt.bar(index,value2,bottom=value1,hatch='\\')
plt.bar(index,value3,bottom=value1+value2,hatch='xx')
plt.xticks(index,['A','B','C','D','E'])#第二个参数为第一个的对应值
plt.show()
7.为pandas dataframe绘制堆积条状图只需要stacked关键词设置为Ture,即df.plot(kind='bar',stacked='True')
8.上下两排条形图
x = np.arange(8)
y1 = np.random.randint(1,10,8)
y2 = np.random.randint(1,10,8)
plt.bar(x,y1,facecolor='y')
plt.bar(x,-y2,facecolor='b')
plt.grid(True)
list_name=['p1','p2','p3','p4','p5','p6','p7','p8']
for x1,y3 in zip(x,y1):
plt.text(x1-0.1,y3+0.2,list_name[x1])
for x,y in zip(x,y2):
plt.text(x-0.1,-y-0.5,list_name[x])
plt.show()
9.标准饼图
labels = ['A','B','C','D','E']
values = [10,20,23,43,54]
clolor = ['y','g','r','black','b']
plt.pie(values,labels=labels,colors=clolor)
plt.axis('equal')
plt.title('M10')
plt.show()
10.突出饼图部分
labels = ['A','B','C','D','E']
values = [10,20,23,43,54]
clolor = ['y','g','r','m','b']
explode=[0.5,0,0,0,0]
plt.pie(values,labels=labels,colors=clolor,explode=explode,shadow=True,autopct='%1.1f%%',startangle=180)
plt.axis('equal')
plt.title('M10')
plt.show()