//2019.7.14晚matplotlib七种常见图像输出编程大全
七种图形汇总输出如下:
(必会用到的导入模块)#1-1散点图输出fig=plt.figure()fig.add_subplot(3,3,1)n=128X=np.random.normal(0,1,n)#随机数X的生成(生成正态分布,平均数为0,方差为1,个数为128)Y=np.random.normal(0,1,n)#随机数Y的生成(生成正态分布,平均数为0,方差为1,个数为128)T=np.arctan2(Y,X)#plt.axes([0.025,0.025,0.95,0.95])#指定显示范围plt.scatter(X,Y,s=75,c=T,alpha=.5)#画散点图的函数scatter(其中XY表示数值的大小,s表示散点的尺寸大小,c表示颜色,alpha表示透明度)plt.xlim(-1.5,1.5),plt.xticks([])#x和y坐标轴的范围plt.ylim(-1.5,1.5),plt.yticks([])#x和y坐标轴的范围plt.axis()#显示所有图像范围plt.title("scatter")plt.xlabel("x")plt.ylabel("y")
#1-2bar柱状图fig.add_subplot(3,3,2)n=10X=np.arange(n)#定义从0-9的数列Y1=(1-X/float(n))*np.random.uniform(0.5,1.0,n)#定义变量X的计算方式Y2=(1-X/float(n))*np.random.uniform(0.5,1.0,n)#定义变量Y的计算方式plt.bar(X,Y1,facecolor="#9999ff",edgecolor="white")#编辑输出柱状图的格式(其中facecolor表示输出柱状图的颜色,edgecolor表示边框的颜色)plt.bar(X,-Y2,facecolor="#ff9999",edgecolor="white")#编辑输出柱状图的格式forx,yinzip(X,Y1):#编辑输出柱状图的位置格式(其中0.4表示每个柱状图之间的距离,'%.2f'%y表示输出小数点的位数,ha表示数值标注横向对齐,va表示柱状图纵向对齐位置)plt.text(x,y+0.05,'%.2f'%y,ha='center',va="bottom")forx,yinzip(X,Y2):plt.text(x,-y-0.05,'%.2f'%y,ha='center',va="top")
plt.show()
#1-5heatmapfrommatplotlibimportcm#输出颜色设置模块fig.add_subplot(335)data=np.random.rand(3,3)cmap=cm.Blues#选择颜色系为蓝色体系map=plt.imshow(data,interpolation="nearest",cmap=cmap,aspect="auto",vmin=0,vmax=1)#设置图像输出时的格式
#1-7hotmap热流图fig.add_subplot(313)deff(x,y):return(1-x/2+x**5+y**3)*np.exp(-x**2-y**2)n=256x=np.linspace(-3,3,n)y=np.linspace(-3,3,n)X,Y=np.meshgrid(x,y)#将xy转换为矩阵
#将向量x和y定义的区域转换成矩阵X和Y,其中矩阵X的行向量是向量x的简单复制,而矩阵Y的列向量是向量y的简单复制#假设x是长度为m的向量,y是长度为n的向量,则最终生成的矩阵X和Y的维度都是nm(注意不是mn)
plt.contourf(X,Y,f(X,Y),8,cmap=plt.cm.hot)#输出热流图plt.show()