在 matplotlib 中设置默认 histtype?
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()
的包装器来更改默认参数。
有没有办法配置 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()
的包装器来更改默认参数。