【发布时间】: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