plt.figure()的使用


版權聲明:本文為博主原創文章,遵循 CC 4.0 by-sa 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/m0_37362454/article/details/81511427
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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM