【问题标题】:matplotlib - increase resolution to see detailsmatplotlib - 提高分辨率以查看细节
【发布时间】:2012-08-30 08:18:02
【问题描述】:

我有一个由任务(大约 600 个)组成的大流程,我创建了一个图形来观察它们的启动顺序和它们花费的时间。为此,我使用了 matplotlib 和一个 barh。

图还可以(我的第一个 matplotlib 成功!),但是:

  • 我想查看详细信息并在导出(例如 PNG)时放大图片,因为当 matplotlib 使用 show() 命令显示结果时,缩放选项允许
  • Y 轴的图例太近且难以阅读

this other SO post 所说,我尝试提高分辨率,这样更好,但细节不够精确。以下是我目前的结果:

  • 完整结果

  • 使用 matplotlib 进行缩放

你知道如何提高可读性吗?非常感谢(否则,我所有的努力都将毫无用处,恐怕......)

PS:我正在使用 matplotlib 1.1.1 和 python 2.7。

【问题讨论】:

  • 分辨率看起来不错。我猜你的意思是轴上的可读性?只需尝试减小轴标签的字体大小。如果有别的,你必须更清楚你想要什么。为获得最佳分辨率,导出为 postscript 或 PDF;这些格式是基于矢量的,通常保持全分辨率。请记住,这样的文件可能会以这种方式变大(并且需要一段时间才能生成)。如果您想要PNG,只需将其制作为具有正常分辨率(dpi)的巨大图形即可;它是像 PNG 这样的光栅化图像类型所固有的,您无法无休止地放大。
  • 我只是尝试了其他方法:在轴上添加注释而不是标签。但同样的问题仍然存在:因为我有超过 600 个值,即使 fontsize 'xx-small' 也是不够的。我真正想要的是让注释文本大小与图表项的高度相同,这可能吗?然后我会生成一个非常大的分辨率,这样我就可以尽可能多地放大。
  • 如果你制作一个非常大的数字怎么办?如果字体大小不缩放(因为它通常以磅为单位定义),那将起作用,但条形确实会随着图形大小缩放。当然,这样的图形“拖动”或打印有点尴尬,但此时,您可以重新缩放它。或者,对于正常大小的图形,请尝试使用 1(整数)的字体大小而不是字符串。这对我有用。

标签: python matplotlib


【解决方案1】:

根据Evert 的建议,我设法做到了这一点,方法是使用非常大的分辨率和非常小的字体。以下是最重要的步骤:

import pylab as pl
pl.figure(figsize=(70, 70)) # This increases resolution
pl.savefig('test.eps', format='eps', dpi=900) # This does, too
pl.annotate(..., fontsize='xx-small', ...)

【讨论】:

    【解决方案2】:

    为了记录,我将在我的第二条评论中提出的建议也作为可能的答案。这可能并不总是有效,但测试显示出良好的结果:

    import pylab as pl
    pl.figure(figsize=(7, 7))  # Don't create a humongous figure
    pl.annotate(..., fontsize=1, ...)   # probably need the annotate line *before* savefig
    pl.savefig('test.pdf', format='pdf')   # no need for DPI setting, assuming the fonts and figures are all vector based
    

    它甚至会出现小数字体大小(例如fontsize=0.1)。 您的情况可能会有所不同:我仅使用 PDF 后端进行了测试,而不是 EPS 后端。

    另外:我忽略了 DPI 设置。在高分辨率打印机上打印时,您可能再次需要它。再说一次,您不应该这样做,因为这可能是打印机设置:打印机如何光栅化您的(矢量)PDF 图像。我只是不知道这些“提示”是否可以编码成 postscript/PDF。

    【讨论】:

      猜你喜欢
      • 2013-04-16
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 2020-06-04
      • 1970-01-01
      • 2017-02-13
      • 2010-10-19
      • 1970-01-01
      相关资源
      最近更新 更多