我有一个由任务组成的大型进程(大约600个),我创建了一个数字来观察它们的启动顺序和时间。为此,我使用了matplotlib和一个barh。
这个数字还可以(我的第一个matplotlib成功!),但是:
show()
命令显示结果时,缩放选项允许我试图像this other SO post中所说的那样提高分辨率,这样更好,但细节不够准确。以下是我到目前为止的结果:
你知道我如何提高可读性吗?非常感谢(否则,我的所有努力都将毫无用处,我担心......)
PS:我正在使用matplotlib 1.1.1和python 2.7。
答案 0 :(得分:39)
我设法按照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', ...)
答案 1 :(得分:21)
仅作为记录,我将把我在第二条评论中提出的建议作为可能的答案。这可能并不总是有效,但测试显示了良好的结果:
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。