用python绘制图形的实例详解
1.环境
系统:windows10python版本:python3.6.1使用的库:matplotlib,numpy2.numpy库产生随机数几种方法
import numpy as np
rand(d0, d1, ..., dn) | In [2]: x=np.random.rand(2,5) In [3]: x |
randn(d0, d1, ..., dn)查询结果为标准正态分布 立即学习“Python免费学习笔记(深入)”; | In [4]: x=np.random.randn(2,5) In [5]: x |
randint(low,high,size) | 生成low到high之间(半开区间 [low, high)),size个数据 In [6]: x=np.random.randint(1,8,4) In [7]: x |
random_integers(low,high,size) | 生成low到high之间(闭区间 [low, high)),size个数据 In [10]: x=np.random.random_integers(2,10,5) In [11]: x |
3.散点图
x x轴y y轴s 圆点面积c 颜色marker 圆点形状alpha 圆点透明度 #其他图也类似这种配置
N=50# height=np.random.randint(150,180,20)# weight=np.random.randint(80,150,20)x=np.random.randn(N)y=np.random.randn(N)plt.scatter(x,y,s=50,c='r',marker='o',alpha=0.5)plt.show()
4.折线图
# 来源:百度网盘搜索 <br>x=np.linspace(<span class="hljs-number">-10000,<span class="hljs-number">10000,<span class="hljs-number">100) <span class="hljs-comment">#将-10到10等区间分成100份y=x**<span class="hljs-number">2+x**<span class="hljs-number">3+x**<span class="hljs-number">7plt.plot(x,y)plt.show()</span></span></span></span></span></span></span>
折线图使用plot函数
5.条形图
N=5y=[20,10,30,25,15]y1=np.random.randint(10,50,5)x=np.random.randint(10,1000,N)index=np.arange(N)plt.bar(left=index,height=y,color='red',width=0.3)plt.bar(left=index+0.3,height=y1,color='black',width=0.3)plt.show()
orientation设置横向条形图
N=5y=[20,10,30,25,15]y1=np.random.randint(10,50,5)x=np.random.randint(10,1000,N)index=np.arange(N)# plt.bar(left=index,height=y,color='red',width=0.3)# plt.bar(left=index+0.3,height=y1,color='black',width=0.3)#plt.barh() 加了h就是横向的条形图,不用设置orientationplt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orientation='horizontal')plt.show()
6.直方图
m1=100sigma=20x=m1+sigma*np.random.randn(2000)plt.hist(x,bins=50,color="green",normed=True)plt.show()
# #双变量的直方图# #颜色越深频率越高# #研究双变量的联合分布
#双变量的直方图#颜色越深频率越高#研究双变量的联合分布x=np.random.rand(1000)+2y=np.random.rand(1000)+3plt.hist2d(x,y,bins=40)plt.show()
7.饼状图
#设置x,y轴比例为1:1,从而达到一个正的圆
#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影
labes=['A','B','C','D']fracs=[15,30,45,10]explode=[0,0.1,0.05,0]#设置x,y轴比例为1:1,从而达到一个正的圆plt.axes(aspect=1)#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影plt.pie(x=fracs,labels=labes,autopct="%.0f%%",explode=explode,shadow=True)plt.show()
8.箱型图
import matplotlib.pyplot as pltimport numpy as npdata=np.random.normal(loc=0,scale=1,size=1000)#sym 点的形状,whis虚线的长度plt.boxplot(data,sym="o",whis=1.5)plt.show()
#sym 点的形状,whis虚线的长度