一、figure概述
Matplotlib是Python中著名的可視化庫之一,其核心的figue函數是畫布的概念,是Matplotlib中處理圖形的核心概念。figure函數通過創建一個畫布來容納繪製的對象,如圖表、子圖和其他可視化元素,同時也可以進行窗口管理,並提供一些高級的操作,如保存圖像和深度自定義設置。總的來說,figure對於Matplotlib的使用和功能是至關重要的。
import matplotlib.pyplot as plt
# 創建有1個子圖的畫布
fig = plt.figure()
二、figure函數參數
figure函數可以傳遞一些參數,以滿足使用的需要。常用的參數如下:
1. figsize
該參數設置創建的繪圖對象的尺寸,如(width, height),默認為(6.4, 4.8),單位為英寸。
fig = plt.figure(figsize=(10, 6))
2. dpi
該參數為圖像解析度,即每英寸包含的像素點數,默認為100。因此,例子中的畫布寬度為10英寸,高度為6英寸,正好包含1000(10*100)個像素和600(6*100)個像素,圖像解析度為100*100。
fig = plt.figure(figsize=(10, 6), dpi=200)
3. facecolor 和 edgecolor
該參數設置圖形的背景色和邊框顏色,默認為背景色為白色(#ffffff),邊框顏色為None。
fig = plt.figure(figsize=(10, 6), dpi=200, facecolor='#e5f2ff', edgecolor='#1f77b4')
4. frameon
該參數設置是否在圖形周圍繪製邊框,默認為True。
fig = plt.figure(figsize=(10, 6), dpi=200, facecolor='#e5f2ff', edgecolor='#1f77b4', frameon=False)
5. tight_layout
該參數為布爾類型,表示是否自動調整子圖參數,以便它們填充整個圖形區域,默認值為False。使用tight_layout可以確保子圖和標籤完全覆蓋整個圖形區域。
fig = plt.figure(figsize=(10, 6), dpi=200, facecolor='#e5f2ff', edgecolor='#1f77b4', frameon=False, tight_layout=True)
三、子圖的創建方法
1. add_subplot
使用add_subplot添加子圖,add_subplot接受三個整數參數,表示把畫布分成幾行幾列,應該在哪個位置添加子圖。它返回的是AxesSubplot實例。
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(8, 6), dpi=100)
ax1 = fig.add_subplot(2, 2, 1)
ax1.plot([1, 2, 3, 4], [1, 4, 9, 16])
ax2 = fig.add_subplot(2, 2, 2)
ax2.scatter([1, 2, 3, 4],[1, 4, 9, 16])
ax3 = fig.add_subplot(2, 2, 3)
ax3.bar([1, 2, 3, 4],[1, 4, 9, 16])
ax4 = fig.add_subplot(2, 2, 4)
ax4.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()
2. subplots
subplots函數方便地創建多個子圖,返回一個數組對象,其中包含所有子圖。
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 2, figsize=(8, 6), dpi=100)
axs[0, 0].plot([1, 2, 3, 4], [1, 4, 9, 16])
axs[0, 1].scatter([1, 2, 3, 4],[1, 4, 9, 16])
axs[1, 0].bar([1, 2, 3, 4],[1, 4, 9, 16])
axs[1, 1].plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()
四、保存圖像
可以通過savefig方法將圖像保存為圖像文件,可以指定文件格式。需要注意,必須在plt.show()函數之前調用savefig函數,因為圖像輸出後窗口就被關閉了。
fig.savefig('my_figure.png')
原創文章,作者:GZVEP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/372119.html