一、標題背景
當我們使用matplotlib繪製圖表時,通常需要清空畫布,以免前一次繪製的內容影響下一次的繪製結果。因此,清空畫布是matplotlib基本操作之一。而plt.clf()函數就是實現這一功能的常用函數,它可以清空當前圖形中的所有axes。
二、使用plt.clf函數清空當前畫布
在繪製圖表時,我們通常會先創建一個畫布,然後在畫布上創建一個或多個子圖(axes)。使用plt.clf()函數可以清空當前圖形的所有axes。
示例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Sine Wave')
# 清空當前圖形的所有axes
plt.clf()
# 繼續繪製
ax.plot(x, np.cos(x))
ax.set_title('Cosine Wave')
plt.show()
運行上述代碼,可以看到兩個不同的圖形,一個是正弦波,一個是餘弦波。這兩個圖形的axes是在同一個畫布上繪製的。在繪製正弦波之後,使用plt.clf()清空了當前的axes,然後再繪製了餘弦波。
三、使用plt.close()函數關閉當前畫布
除了使用plt.clf()函數清空當前圖形的所有axes以外,我們還可以使用plt.close()函數關閉當前的畫布。該函數在清空當前的axes之後,還會將畫圖窗口關閉。
示例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Sine Wave')
# 關閉當前畫布
plt.close()
# 繼續繪製
fig, ax = plt.subplots()
ax.plot(x, np.cos(x))
ax.set_title('Cosine Wave')
plt.show()
運行上述代碼,可以看到兩個不同的畫布,分別繪製了正弦波和餘弦波。
四、使用plt.cla()函數清空當前axes
使用plt.clf()函數可以清空當前圖形的所有axes,但是有時候我們只想清空當前axes上的內容,而不是清空整個圖形。這時,就可以使用plt.cla()函數清空當前的axes。
示例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Sine Wave')
# 清空當前axes
plt.cla()
# 繼續繪製
ax.plot(x, np.cos(x))
ax.set_title('Cosine Wave')
plt.show()
運行上述代碼,可以看到兩個不同的圖形,一個是空白的axes,一個是餘弦波。在繪製正弦波之後,使用plt.cla()清空了當前的axes,然後再繪製了餘弦波。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/189861.html
微信掃一掃
支付寶掃一掃