matplotlib一个界面绘制多个图
matplotlib绘图可以参考:matplotlib的基本使用
Figure 对象:创建画布
figure( num,figsize,dpi,facecolor,edgecolor,frameon )
- num:图形编号或名称,取值为数字/字符串。
- figsize:绘图对象的宽和高,单位为英寸。
- dpi:绘图对象的分辨率,缺省值为80。
- facecolor:背景颜色。
- edgecolor:边框颜色。
- frameon:表示是否显示边框。
import matplotlib.pyplot as plt
plt.figure(figsize=(3,2),facecolor="green")
plt.plot()
plt.show()
划分子图
subplot( 行数, 列数, 子图序号 )

以中间的那个2x2的划分方式为例
plt.subplot(2,2,1)
plt.subplot(2,2,2)
plt.subplot(2,2,3)
plt.subplot(2,2,4)
plt.show()
每执行一次subplot相当于绘制了一个子图,如果只执行三个subplot
plt.subplot(2,2,1)
plt.subplot(2,2,2)
# plt.subplot(2,2,3)
plt.subplot(2,2,4)
plt.show()
设置标题
全局标题
suptitle (标题文字)

子图标题
title (标题文字)
主要参数;

plt.subplot(2,2,1)
plt.title('subtitle1')
plt.subplot(2,2,2)
plt.title('subtitle2',loc='left',color='blue')
plt.subplot(2,2,3)
myfont_dict = {
'fontsize':20,
"color":"green",
"rotation":45
}
plt.title('subtitle3',fontdict=myfont_dict)
plt.subplot(2,2,4)
plt.title('subtitle4',color="#ffffff",backgroundcolor="#000000")
plt.suptitle("title",fontsize= 30,color = "red")
plt.show()
为了防止互相遮挡,使用tight_layout()函数
tight_layout()函数
检查坐标轴标签、刻度标签、和子图标题,自动调整子图,使之填充整个绘图区域,并消除子图之间的重叠
tight_layout( rect=[left, bottom, right, top])
传入的四个数字,分别是矩形左下角和右上角的点的坐标,如果不传入默认是[0,0,1,1]

plt.tight_layout(rect = [0,0,1,0.9])
再随便举个例子
import numpy as np
import matplotlib.pyplot as plt
def main():
# scatter# #
#plt.figure() # set up a figure #
for i in range(1,5):
plt.subplot(2,2,i) # a figure with 3 rows and 3 columns #
n = 128
X = np.random.normal(0, 1, n)
Y = np.random.normal(0, 1, n)
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)
plt.xlim(-1.5, 1.5), plt.xticks([]) # the range about x #
plt.ylim(-1.5, 1.5), plt.yticks([])
plt.axis()
plt.title("scatter")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
if __name__ == "__main__":
main()







浙公网安备 33010602011771号