亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

何時使用CLA()、clf()或CLOSE()清除matplotlib中的繪圖?

何時使用CLA()、clf()或CLOSE()清除matplotlib中的繪圖?

郎朗坤 2019-07-11 13:26:23
何時使用CLA()、clf()或CLOSE()清除matplotlib中的繪圖?Matplotlib提供了以下功能:cla()   # Clear axisclf()   # Clear figureclose() # Close a figure window這些文檔并沒有提供很多關于這些函數之間的區別的洞察力。我什么時候應該使用每個函數,它到底是做什么的?
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

它們都做了不同的事情,因為matplotlib使用的是一個層次順序,其中一個圖形窗口包含一個圖形,該圖形可能由多個軸組成。此外,還有來自pyart接口的函數,并且在Figure班級,等級。我將在下面討論這兩種情況。

吡咯烷酮界面

pyplot是一個模塊,它收集了幾個允許以函數方式使用matplotlib的函數。我在這里假設pyplot已作為import matplotlib.pyplot as plt..在本例中,有三個不同的命令可以刪除內容:

plt.cla()清除軸,即當前圖形中的當前活動軸。它讓其他的斧頭不動。

plt.clf()清除整個當前數字。用它所有的斧頭,卻把窗戶打開,這樣它就可以再用在其他的地塊上了。

plt.close()關上窗戶,這將是當前窗口,如果沒有指定的話。

因此,哪種功能最適合您,取決于您的用例。

這個close()函數還允許指定應關閉哪個窗口。參數可以是在創建窗口時使用的數字或名稱。figure(number_or_name)或者它可以是一個圖形實例fig獲得,即使用fig = figure()..如果沒有給出任何論據close(),當前活動的窗口將關閉。此外,還有語法close('all')關閉所有數字。

圖類的方法

此外,Figure類提供用于清除數字的方法。我將在下面假設figFigure:

fig.clf()清除整個數字..此調用等效于plt.clf()只有當fig是目前的數字。

fig.clear()的同義詞fig.clf()

請注意,即使del fig將不會關閉關聯的圖形窗口。據我所知,關閉圖形窗口的唯一方法是使用plt.close(fig)如上文所述。


查看完整回答
反對 回復 2019-07-11
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

我今天發現了一個警告。如果有一個函數多次調用繪圖,則最好使用plt.close(fig)而不是fig.clf()不知何故,第一種不積累在記憶中??傊?/trans>如果需要內存,請使用plt.Close(圖)(雖然似乎有更好的方法,但相關鏈接請到本評論的末尾)。

因此,下面的腳本將生成一個空列表:

for i in range(5):
    fig = plot_figure()
    plt.close(fig)# This returns a list with all figure numbers availableprint(plt.get_fignums())

而這張名單上有五個數字。

for i in range(5):
    fig = plot_figure()
    fig.clf()# This returns a list with all figure numbers availableprint(plt.get_fignums())

從上面的文檔中,我不清楚關閉圖形和關閉窗口有什么區別。也許這會澄清。

如果您想嘗試一個完整的腳本,您有:

import numpy as npimport matplotlib.pyplot as plt
x = np.arange(1000)y = np.sin(x)for i in range(5):
    fig = plt.figure()
    ax = fig.add_subplot(1, 1, 1)
    ax.plot(x, y)
    plt.close(fig)print(plt.get_fignums())for i in range(5):
    fig = plt.figure()
    ax = fig.add_subplot(1, 1, 1)
    ax.plot(x, y)
    fig.clf()print(plt.get_fignums())

如果記憶是一個問題,有人已經在其中發布了一個解決方案,請參見:創建一個引用計數的數字


查看完整回答
反對 回復 2019-07-11
?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

plt.cla()手段清電流軸

plt.clf()手段明確電流數字

另外,還有plt.gca()(獲取當前軸)和plt.gcf()(獲取當前數字)

在這里閱讀更多:Matplotlib,Pyart,Pylab等:它們之間有什么區別,什么時候使用?


查看完整回答
反對 回復 2019-07-11
  • 3 回答
  • 0 關注
  • 3265 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號