1.figure語法及操作
(1)figure語法說明
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
- num:圖像編號或名稱,數字為編號 ,字符串為名稱
- figsize:指定figure的寬和高,單位為英寸;
- dpi參數指定繪圖對象的分辨率,即每英寸多少個像素,缺省值為80 1英寸等於2.5cm,A4紙是 21*30cm的紙張
- facecolor:背景顏色
- edgecolor:邊框顏色
- frameon:是否顯示邊框
(2)例子:
import matplotlib.pyplot as plt # 創建自定義圖像 fig=plt.figure(figsize=(4,3),facecolor='blue') plt.show()
2.subplot創建單個子圖
(1) subplot語法
subplot(nrows,ncols,sharex,sharey,subplot_kw,**fig_kw)
subplot可以規划figure划分為n個子圖,但每條subplot命令只會創建一個子圖 ,參考下面例子。
(2)例子
import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 100) #作圖1 plt.subplot(221) plt.plot(x, x) #作圖2 plt.subplot(222) plt.plot(x, -x) #作圖3 plt.subplot(223) plt.plot(x, x ** 2) plt.grid(color='r', linestyle='--', linewidth=1,alpha=0.3) #作圖4 plt.subplot(224) plt.plot(x, np.log(x)) plt.show()
3.subplots創建多個子圖
(1)subplots語法
subplots參數與subplots相似
(2)例子
import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 100) #划分子圖 fig,axes=plt.subplots(2,2) ax1=axes[0,0] ax2=axes[0,1] ax3=axes[1,0] ax4=axes[1,1] #作圖1 ax1.plot(x, x) #作圖2 ax2.plot(x, -x) #作圖3 ax3.plot(x, x ** 2) ax3.grid(color='r', linestyle='--', linewidth=1,alpha=0.3) #作圖4 ax4.plot(x, np.log(x)) plt.show()
4.面向對象API:add_subplots與add_axes新增子圖或區域
add_subplot與add_axes都是面對象figure編程的,pyplot api中沒有此命令
(1)add_subplot新增子圖
add_subplot的參數與subplots的相似
例子
import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 100) #新建figure對象 fig=plt.figure() #新建子圖1 ax1=fig.add_subplot(2,2,1) ax1.plot(x, x) #新建子圖3 ax3=fig.add_subplot(2,2,3) ax3.plot(x, x ** 2) ax3.grid(color='r', linestyle='--', linewidth=1,alpha=0.3) #新建子圖4 ax4=fig.add_subplot(2,2,4) ax4.plot(x, np.log(x)) plt.show()
可以用來做一些子圖。。。圖中圖。。。
(2)add_axes新增子區域
add_axes為新增子區域,該區域可以座落在figure內任意位置,且該區域可任意設置大小
add_axes參數可參考官方文檔:http://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure
import numpy as np import matplotlib.pyplot as plt #新建figure fig = plt.figure() # 定義數據 x = [1, 2, 3, 4, 5, 6, 7] y = [1, 3, 4, 2, 5, 8, 6] #新建區域ax1 #figure的百分比,從figure 10%的位置開始繪制, 寬高是figure的80% left, bottom, width, height = 0.1, 0.1, 0.8, 0.8 # 獲得繪制的句柄 ax1 = fig.add_axes([left, bottom, width, height]) ax1.plot(x, y, 'r') ax1.set_title('area1') #新增區域ax2,嵌套在ax1內 left, bottom, width, height = 0.2, 0.6, 0.25, 0.25 # 獲得繪制的句柄 ax2 = fig.add_axes([left, bottom, width, height]) ax2.plot(x,y, 'b') ax2.set_title('area2') plt.show()
—————————————
版權聲明:本文為CSDN博主「歐陽小俊」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/m0_37362454/article/details/81511427