首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matplotlib pgf后端中的抗锯齿文本渲染

matplotlib pgf后端中的抗锯齿文本渲染
EN

Stack Overflow用户
提问于 2016-09-21 18:29:39
回答 1查看 602关注 0票数 0

我有一个关于matplotlib pgf后端的文本渲染的问题。我正在使用matplotlib导出我的绘图的.pdf文件。在使用rcParameters一节中,我定义了我想使用sans-serif,我想使用Helvetica作为字体。因此,我禁用了选项text.usetex。这是一个MWE:

代码语言:javascript
复制
import matplotlib as mpl
import os

mpl.use('pgf')

pgf_with_latex = {                     
    "pgf.texsystem": "pdflatex",       
    "text.usetex": False,                
    "font.family": "sans-serif",
    "font.sans-serif": "Helvetica",
    "pgf.preamble": [
        r"\usepackage[utf8x]{inputenc}",    
        r"\usepackage[T1]{fontenc}",       
        r"\usepackage{textcomp}",
        r"\usepackage{sfmath}",
    ]
    }
mpl.rcParams.update(pgf_with_latex)

import matplotlib.pyplot as plt


def newfig():
    plt.clf()
    fig = plt.figure()
    ax = fig.add_subplot(111)
    return fig, ax

fig, ax = newfig()
ax.set_xlabel("Some x-label text")
ax.text(0.3, 0.5, r"This text is not antialiased! 0123456789", transform=ax.transAxes, fontsize=8)
plt.savefig(os.getcwd() + "/test.pdf")

结果是,记号标签和文本在计算机现代版(-> LaTeX)中呈现,而不是Helvetica,并且它们不会呈现为矢量图形并且看起来像素化的。现在,当我启用text.usetex时,刻度标签变成了矢量图形(我可以在看不到像素的情况下放大),但文本不会!

我必须做什么才能获得所有内容(刻度标签、轴标签、图例、文本等)被矢量化的Helvetica?这有可能吗?如果没有,我如何让文本、图例等在Computer Modern中像刻度标签一样被矢量化?

编辑: Python 3.4.4,matplotlib 1.5.2

下面是平滑的刻度标签与粗糙的xlabel

另一个编辑:如果我将我的文件保存为.eps而不是.pdf,并启用usextex,我会得到非常棒的矢量化字体,但刻度标签是serif字体:<

EN

回答 1

Stack Overflow用户

发布于 2016-09-21 20:34:56

我想,经过多次尝试,我终于找到了答案。我在this SO post里找到的。

我只是在前言中添加了以下内容:

代码语言:javascript
复制
r'\usepackage{helvet}',    # set the normal font here
r'\usepackage{sansmath}',  # load up the sansmath so that math -> helvet
r'\sansmath'               # <- tricky! -- gotta actually tell tex to use!

并设置"text.usetex": False"。现在它终于到处使用Helvetica了,而且到处都是矢量化的。好吧,除了对数标度的轴。在那里,我必须使用ax.set_yticklabels([1, 2, 3, 4])手动设置轴标签。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39614011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档