matplotlib简单解析
此博客仅是我平时学习遇到的一些小代码,随着我学习的增多,博客也会慢慢的增添
导入函数库
import matplotlib
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
1.matplotlib画图用的数据一般都是numpy产生的,产生数据在numpy博客。
各种函数解析
2D区域
#也可以不写,问题不大
plt.figure(figsize=(9, 11), facecolor='w') #创建2D画布,大小和背景颜色
plt.subplot(132) #分区
plt.grid() #显示网格,会使函数图像看起来更方便一些
plt.axhline(y=0.8, ls='--', c='r') #在y=0.8处,显示一条直线。
plt.hist (数据,格数,normed=1,颜色,alpha=0.8) #显示柱状图。暂且以为:显示normed=1时,为显示正态分布直方图。 [返回值是三个数组,第一个为正态分布值,第二个为横坐标,第三个不晓得]
plt.plot (x,y,’go-’,linewidth=2,label=’hhh’ ) #将各个坐标点用直线连接(可以调节颜色,宽度,注释,线形状)
plt.legend(loc=’ ’)设置线段颜色注释调节位置。也就是label标签的位置。
#位置单词:(best,upper right,upper left,lower left,lower right,right,center left,center right,lower center,upper center, center)
plt.bar(x,y) #显示柱状图(比hist好用)
plt.scatter(x,y, c='g', marker='x', s=50, label='a', alpha=1) #c为颜色,s为点的大小,alpha为透明度,marker为显示点样式。
plt.stem(w,a,linefmt=’ro-’,markerfmt=’ro’)
显示图像展示:
对坐标轴设置
plt.xlabel('X', fontsize=15)
plt.ylabel('exp(X)', fontsize=15)
plt.title() #设置单个图标题
plt.suptitle() #设置整个显示框大标题
1.显示矩阵(矩阵可视化)
plt.matshow(a) #将矩阵a可视化出来
plt.show()
3D
fig=plt.figure() 或 ax = Axes3D(fig) #创建3D画布
ax=fig.add_subplot(111,projection=’3D’) #创建3D画布分区
ax=fig.gca(projection=’3d’) #创建3D画布分区
ax.bar(x,y,zs=z,zdir=’y’,color=’blue’,alpha=0.8) x,y为条形图高度与位置,z表示柱状图侧面位置。
color=plt.cm.Set2(random.choice(range(plt.cm.Set2.N)))
ax.bar(x,y,zs=z,zdir=’y’,color=color,alpha=0.8) #这样可以使柱状图颜色不一样,比较容易观察。
ax.plot_surface (x,y,z,rstride=1,lw=0.75,cstride=1,cmap=plt.get_cmap (‘颜色单词’)) #显示3D图
ax.scatter(x,y,z) #显示点图
ax.scatter(x,y,z, c='r', s=15*z, marker='o', depthshade=True) #15*z使数据越靠上,点的尺寸越大
ax.contourf(x,y,z,zdir=’z’,offset=-2) #显示等高线,zdir表示投射的面,offset表示投射面的坐标。
对坐标轴的设置
ax.set_xlabel('X')
ax.set_xlim3d(-0.5, 1.5)
ax.set_ylabel('Y')
ax.set_ylim3d(-0.5, 1.5)
ax.set_zlabel('Z')
ax.set_zlim3d(-0.5, 1.5)
#设置xyz轴需要显示的坐标,可以自己定义xs,ys,zs
ax.xaxis.set_major_locator(mpl.ticker.FixedLocator(xs))
ax.yaxis.set_major_locator(mpl.ticker.FixedLocator(ys))
ax.xaxis.set_major_locator(mpl.ticker.FixedLocator(xs))
plt.tight_layout() #作用:使显示图形更好看,布局更合理
Plt.figure(figsize=(8,8),facecolor=’w’) #设置图片长宽和背景颜色。
plt.axis(‘off’) #关闭坐标轴,不显示。
plt.inshow(I) #显示图像,I为一个RGB(三维,int8)矩阵。
plt.title() #设置单个图标题
plt.suptitle() #设置大标题

浙公网安备 33010602011771号