【发布时间】:2014-12-26 12:39:51
【问题描述】:
我有一些用 matplotlib 可视化的数据。我使用的字体是 Arial,字体大小应该是 10。我将图表保存为 svg,以便在 inkscape 中对其进行后处理。一切都很顺利,轴刻度、标签等的字体大小为 12,5 而不是 10。下面是我定义 rcParams 的代码:
mpl.rcParams['axes.labelsize'] = 10
mpl.rcParams['xtick.labelsize'] = 10
mpl.rcParams['ytick.labelsize'] = 10
mpl.rcParams['legend.fontsize'] = 10
mpl.rcParams['font.family'] = ['sans-serif']
mpl.rcParams['font.sans-serif'] = ['Arial']
mpl.rcParams['text.usetex'] = False
mpl.rcParams['svg.fonttype'] = 'none'
do some stuff: fig, plt.plot, etc.
fig.savefig('fig.svg',dpi=300, bbox_inches='tight',transparent=True)
肯定有比在inkscape中调整所有内容更好的方法:)
【问题讨论】:
-
这闻起来像个虫子。您可以为 minimal 示例输入代码吗?你用的是什么版本的mpl?
-
我认为问题可能在于 matplotlib 将像“10”这样的数字视为 10pt。浏览器中的 10pt 和 12.5px 几乎等同于同一件事。
标签: python svg matplotlib inkscape