有没有办法为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