我正在使用matplotlib绘制一系列图表(在Linux Mint 18 - python 2.7.12中),使用下面的代码。但问题是,在生成PDF文件时,与“annotate”指令(plt.annotate()
)关联的字体的渲染非常糟糕。我找不到问题。有没有人有线索?
结果图片如下:
(我希望你看到0%,10%...... 50%的注释分辨率很低)。其他带注释的图表没有相同的问题。 如果我放大图片,我会看到这些注释被渲染为矢量,但不知何故,它们的渲染方式与绘图的其他字体不同。
font = {'weight' : 'normal',
'size' : 8}
matplotlib.rc('font', **font)
concentrations = ["0","10","20","30","40","50"]
subplot = [ 321, 322, 323, 324, 325, 326 ]
runs = ["01","02","03","04","05","06","07","08","09","10"]
ic = -1
for c in concentrations :
ic = ic + 1
plt.subplot(subplot[ic])
for run in runs :
x, y = np.loadtxt(run+".dat",usecols=(0,1),comments="#",unpack=True)
plt.plot(x, y, 'b-', linewidth=1.0)
plt.xlim(0,1)
plt.ylim(0,r0[ic]+0.01)
plt.xticks(np.arange(0,1.1,0.25))
plt.annotate(c+"%", xy=(0.03, 0.02),**font)
plt.gcf().set_size_inches(3,4)
plt.gcf().savefig('../../tcf/alldecays.pdf')
答案 0 :(得分:1)
它看起来不同,因为您多次打印这些标签(XX%)(每次运行)。
减少annotate命令的缩进(因此每个子图只运行一次)将解决问题