【问题标题】:Matplotlib offset errorbar bug workaround?Matplotlib 偏移错误栏错误解决方法?
【发布时间】:2014-11-04 23:19:51
【问题描述】:

错误记录在这里:

Matplotlib errorbar not centered on marker

这里: https://github.com/matplotlib/matplotlib/issues/3400

基本上,标记一直被绘制 1 个像素。如果您仔细查看第二个图,您甚至可以在 Matplotlib 自己的教程页面上看到这一点:http://matplotlib.org/1.2.1/examples/pylab_examples/errorbar_demo.html

这非常令人沮丧,因为我无法从 matplotlib 生成出版质量的图,我很惊讶这个问题没有得到解决。

无论如何,我在 matplotlib 上投入了太多时间和代码,无法切换到不同的包。所以我的问题是你将如何解决?我想一种解决方案是将标记从误差线向左/向右绘制 1 个像素。我不知道该怎么做。我想出了如何获取我的绘图点的显示坐标,但是如何制作一个保留 1 像素偏移的交互式绘图?我可以用 1 像素的偏移量绘制它们,但是你不能缩放或操纵绘图。

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    似乎 Matplotlib 团队已使用 .svg 或 .pdf 修复了 issue when calling savefig(),但对于 .png,我发现您可以通过使用奇数作为错误线粗细来规避此问题。使用Matplotlib tutorial 上的第一个示例,如果我们使用

    plt.errorbar(x, y, yerr=0.4, marker='X', markersize=15)
    

    然后条形像这样偏移:

    但是,如果我们使用 3 的线宽

    plt.errorbar(x, y, yerr=0.4, marker='X', markersize=15, elinewidth=3)
    

    然后条形像这样居中:

    这不是一个完美的解决方案,但如果您不介意线条稍粗一些,它就可以完成工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-04
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多