在 matplotlib 中设置默认 histt​​ype?

Setting default histtype in matplotlib?

有没有办法配置 matplotlib 的 hist() 函数的 histtype 默认参数?默认行为是制作条形图类型的直方图,我基本上从不想看,因为比较具有显着重叠的多个分布是很糟糕的。

万一它有某种相关性,我想达到的默认行为是 histtype='step'.

感谢您提醒我看这个,因为我也更喜欢 'step' 风格的直方图!我通过进入 matplotlib 源代码解决了这个问题。我使用 anaconda,所以它位于 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() 的包装器来更改默认参数。