【问题标题】:Setting default histtype in matplotlib?在 matplotlib 中设置默认的 histt​​ype?
【发布时间】:2016-09-17 00:17:10
【问题描述】:

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

如果它在某种程度上相关,我希望获得的默认行为是拥有histtype='step'

【问题讨论】:

    标签: python matplotlib data-analysis


    【解决方案1】:

    感谢您提示我查看此内容,因为我也更喜欢 '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() 的包装器来更改默认参数。

    【讨论】:

    • 感谢您的调查。我基本上一直在使用 hist 的包装函数;不幸的是,原位破解源代码不是一种选择,因为我需要我的代码在我无法控制的各种环境中工作。但正如您发现它是硬编码的,我想这回答了我的问题。如果能够使用 matplotlibrc 来控制它,那就太好了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 2022-01-14
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多