from matplotlib import pyplot as mp
mp.figure('A figure',facecolor='gray')
mp.plot([0,1],[1,2])
mp.figure('B figure',facecolor='lightgray')
mp.plot([1,2],[2,1])
#如果figure中標題已創建,則不會新建窗口,
#而是將舊窗口設置為當前窗口
mp.figure('A figure',facecolor='gray')
mp.plot([1,2],[2,1])
#設置窗口的參數
mp.title('A figure',fontsize=18)
mp.xlabel('time',fontsize=14)
mp.ylabel('price',fontsize=14)
mp.tick_params(labelsize=10)
mp.grid(linestyle=":")
mp.tight_layout()
mp.show()
子圖subplot
import numpy as np
import matplotlib.pyplot as mp
mp.figure("Subplot",facecolor='lightgray')
for i in range(1,10):mp.subplot(3,3,i)mp.text(0.5,0.5,i,ha='center',va='center',size=36,alpha=0.6)mp.xticks([])mp.yticks([])mp.tight_layout()
mp.show()
網格式子圖Grid?
import numpy as np
import matplotlib.pyplot as mp
import matplotlib.gridspec as mgmp.figure('GridLayout',facecolor='lightgray')
gs=mg.GridSpec(3,3)
mp.subplot(gs[0,:2])
mp.xticks([])
mp.yticks([])
mp.text(0.5,0.5,'1',ha='center',va='center',size=26,alpha=0.5,color='red')
mp.subplot(gs[:2,2])
mp.xticks([])
mp.yticks([])
mp.text(0.5,0.5,'2',ha='center',va='center',size=26,alpha=0.5,color='red')
mp.subplot(gs[1,1])
mp.xticks([])
mp.yticks([])
mp.text(0.5,0.5,'3',ha='center',va='center',size=26,alpha=0.5,color='red')
mp.subplot(gs[1:3,0])
mp.xticks([])
mp.yticks([])
mp.text(0.5,0.5,'4',ha='center',va='center',size=26,alpha=0.5,color='red')
mp.subplot(gs[2,1:])
mp.xticks([])
mp.yticks([])
mp.text(0.5,0.5,'5',ha='center',va='center',size=26,alpha=0.5,color='red')mp.tight_layout()
mp.show()
自由式布局
from matplotlib import pyplot as mp
mp.figure('FlowLayout',facecolor='lightgray')
mp.axes([0.03,0.5,0.94,0.3])
mp.text(0.5,0.5,'1',ha='center',va='center',size=36)
mp.axes([0.03,0.05,0.94,0.40])
mp.text(0.5,0.5,'1',ha='center',va='center',size=36)
mp.xticks([])
mp.yticks([])
mp.show()
import numpy as np
from matplotlib import pyplot as mp
mp.figure('GridLine',facecolor='lightgray')
ax=mp.gca()
#修改刻度定位器
ax.xaxis.set_major_locator(mp.MultipleLocator(1))#X軸的主刻度為mp.MultipleLocator(1)
ax.xaxis.set_minor_locator(mp.MultipleLocator(0.1))#次刻度為0.1ax.yaxis.set_major_locator(mp.MultipleLocator(200))#y軸的主刻度為mp.MultipleLocator(1)
ax.yaxis.set_minor_locator(mp.MultipleLocator(50))#次刻度為50ax.grid(which='major',axis='both',color='orangered',linewidth=0.75)
ax.grid(which='minor',axis='both',color='orangered',linewidth=0.25)
#繪制曲線
y=np.array([1,10,100,1000,100,10,1])
mp.plot(y,'o-',color='dodgerblue')
# mp.subplot(211)
# mp.title('normal',fontsize=20)
# mp.ylabel('y',fontsize=14)
# ax=mp.gca()
mp.show()
import numpy as np
from matplotlib import pyplot as mp
mp.figure('GridLine',facecolor='lightgray')
ax=mp.gca()
#修改刻度定位器
ax.xaxis.set_major_locator(mp.MultipleLocator(1))#X軸的主刻度為mp.MultipleLocator(1)
ax.xaxis.set_minor_locator(mp.MultipleLocator(0.1))#次刻度為0.1ax.yaxis.set_major_locator(mp.MultipleLocator(200))#y軸的主刻度為mp.MultipleLocator(1)
ax.yaxis.set_minor_locator(mp.MultipleLocator(50))#次刻度為50ax.grid(which='major',axis='both',color='orangered',linewidth=0.75)
ax.grid(which='minor',axis='both',color='orangered',linewidth=0.25)
#繪制曲線
y=np.array([1,10,100,1000,100,10,1])
mp.semilogy(y,'o-',color='dodgerblue')
# mp.subplot(211)
# mp.title('normal',fontsize=20)
# mp.ylabel('y',fontsize=14)
# ax=mp.gca()
mp.show()
semilogy對半數坐標
散點圖scatter
import numpy as np
import matplotlib.pyplot as mp #隨機生成一組數據
n=300
height=np.random.normal(175,5,n)
weight=np.random.normal(70,7,n)mp.figure('Persons',facecolor='lightgray')
mp.title('Persons',fontsize=18)
mp.xlabel("height",fontsize=14)
mp.ylabel("weight",fontsize=14)
mp.grid(linestyle=":")
d=(height-175)**2+(weight-70)**2
mp.scatter(# height,weight,marker='o',s=70,label='persons',color='dodgerblue')height,weight,marker='o',s=70,label='persons',c=d,cmap='jet_r')
mp.legend()
mp.show()
顏色映射圖: