2016-09-17 55 views
2

有沒有辦法爲matplotlib的hist()函數的histtype配置默認參數?默認行爲是製作條形圖類型直方圖,我基本上從不想要看,因爲比較具有重大重疊的多個分佈是可怕的。在matplotlib中設置默認的histt​​ype?

萬一它有某種相關性,我想達到的默認行爲是有histtype='step'

回答

1

謝謝你提示我看看這個,因爲我更喜歡'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時才發現這是一個問題。

這對我有效!另一種方法就是自己編寫一個包裝器,以改變默認參數。

+0

感謝您的關注。我基本上一直使用包裝函數爲hist;不幸的是,原位黑客源代碼不是一種選擇,因爲我需要我的代碼在我無法控制的各種環境中工作。但是,正如你發現它是硬編碼的,我想這回答了我的問題。如果能用matplotlibrc來控制它,本來是很不錯的。 – chase