您的位置:首页 > 编程语言 > Python开发

使用python matplotlib绘制简单图形

2017-12-08 16:42 1521 查看

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.条状图

#条状图
#横坐标是类别,不是数值,使用bar()函数绘制
index = ['A','B','C','D','E']#np.arange(5)
values = np.random.randint(1,10,5)
plt.bar(index,values,alpha=0.7)#alpha透明度,范围0-1
plt.title('M10')
plt.legend(['First'])
plt.show()




3.水平条状图

#使用barh函数
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

#为pandas 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')#使用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')#使用facecolor修改填充颜色
plt.bar(x,-y2,facecolor='b')#使用-y2将其显示在下面
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.突出饼图部分

#使用explode函数,范围0-1,表示抽离范围
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]#抽离度
#shadow添加效果,autopct添加百分比参数
plt.pie(values,labels=labels,colors=clolor,explode=explode,shadow=True,autopct='%1.1f%%',startangle=180)#startangle表示旋转角度
plt.axis('equal')#显示标准的圆
plt.title('M10')
plt.show()


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 图形 matplotlib