python实现直⽅图、条形图、折线图、饼图(参数详情)
,注意:条形图是⽤条形的长度表⽰各类别频数的多少,其宽度(表⽰类别)则是固定的; 直⽅图是⽤⾯积表⽰各组频数的多少1、直⽅图hist()函数
hist()函数: 直⽅图的参数只有⼀个X
参数说明: normed=True:将值进⾏归⼀化处理,形成概率密度,默认值为False color: 修改颜⾊
设置直⽅图的⽅向:
orientation=‘horizontal’: ⽔平⽅向
默认orientation=‘vertical’ 垂直⽅向
#-- coding:UTF-8 --
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
#直⽅图
x=np.random.randint(0,10,10)
plt.hist(x,density=True,orientation='vertical',color='b')#垂直⽅向,horizencal:⽔平
plt.show()
运⾏如下:
2、条形图bar(),barh()
bar(),barh()语法如下:
对象 .bar(left, height, idth=0.8, bottom=None, hold=None, data=None, **kwargs)
2.1
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,5,5)
y = np.random.randint(0,20,size=5)
axes = plt.subplot(1,2,1)#1x2的区域,⼀⾏两列axes.bar(x,y)#垂直条形图
axes2 = plt.subplot(1,2,2)
axes2.barh(x,y)#⽔平条形图
plt.show()
运⾏如下:
2.2添加标题,x轴,y轴标签
把以上对应代码改为:
'''条形图 bar()、barh()(条形图有两个参数x,y)''' x = np.linspace(0,5,5)
y = np.random.randint(0,20,size=5)
'''垂直条形图'''
axes = plt.subplot(2,1,1)#2x1的区域,两⾏⼀列axes.bar(x,y)
axes.set_title('one')
axes.set_xlabel('x')
axes.set_ylabel('y')
'''⽔平条形图'''
axes2 = plt.subplot(2,1,2)
axes2.barh(x,y)
matplotlib中subplotaxes2.set_title('tow')
plt.show()
运⾏结果:
2.3多个⼦图
import numpy as np
x=np.linspace(0,5,5)
y=np.random.randint(0,20,size=5)
axes=plt.subplot(2,2,1)
axes.bar(x,y,color='b')#垂直
axes1=plt.subplot(2,2,2)
axes1.barh(x,y,color='r')#⽔平
axes2=plt.subplot(2,2,3)
axes2.bar(x,y,color='g')
axes3=plt.subplot(2,2,4)
axes3.barh(x,y,color='b')
plt.show()
运⾏如下:
解释:subplot(x,y,z):
x,y组成x⾏y列的图形区域,z是代表位置,从左上⾓开始到右下⾓
plt.subplot(2,2,1)#2x2,两⾏两列,对应第⼀个图,左上⾓
plt.subplot(2,2,2)#2x2,对应第⼆个图,右上⾓
plt.subplot(2,2,3)#2x2,对应第三个图,左下⾓
plt.subplot(2,2,4)#2x2,对应第四个图,右下⾓
plt.show()
运⾏结果:
import matplotlib.pyplot as plt plt.subplot(3,2,1)
plt.subplot(3,2,2)
plt.subplot(3,2,3)
plt.subplot(3,2,4)
plt.subplot(3,2,5)
plt.subplot(3,2,6)
plt.show()
运⾏结果:
3、折线图plot()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论