有沒有辦法爲matplotlib的hist()
函數的histtype
配置默認參數?默認行爲是製作條形圖類型直方圖,我基本上從不想要看,因爲比較具有重大重疊的多個分佈是可怕的。在matplotlib中設置默認的histtype?
萬一它有某種相關性,我想達到的默認行爲是有histtype='step'
。
有沒有辦法爲matplotlib的hist()
函數的histtype
配置默認參數?默認行爲是製作條形圖類型直方圖,我基本上從不想要看,因爲比較具有重大重疊的多個分佈是可怕的。在matplotlib中設置默認的histtype?
萬一它有某種相關性,我想達到的默認行爲是有histtype='step'
。
謝謝你提示我看看這個,因爲我更喜歡'step'
樣式直方圖!我通過進入matplotlib源代碼解決了這個問題。我使用蟒蛇,所以它位於anaconda/lib/site-packages/python2.7/matplotlib
。
要更改直方圖樣式,我編輯了兩個文件。假設當前目錄是matplotlib/
,那麼打開axes/_axes.py
並找到那裏的hist()
函數(它在我的機器上是5690行,matplotlib版本是1.5.1)。您應該在那裏看到histtype
參數。將其更改爲'step'
。
現在打開pyplot.py
並再次找到hist()
函數,並對histtype
參數(版本1.5.1中的行2943和我的機器)進行相同的更改。有關於不編輯此功能的評論,但是我只在編輯axes/_axes.py
時才發現這是一個問題。
這對我有效!另一種方法就是自己編寫一個包裝器,以改變默認參數。
感謝您的關注。我基本上一直使用包裝函數爲hist;不幸的是,原位黑客源代碼不是一種選擇,因爲我需要我的代碼在我無法控制的各種環境中工作。但是,正如你發現它是硬編碼的,我想這回答了我的問題。如果能用matplotlibrc來控制它,本來是很不錯的。 – chase