python怎么改字体_python – 如何更改matplotlib中的默认乳胶字体

我想在matplotlib中使用像’$x ^ 2 $’这样的乳胶语法来标记或注释.但是如何将乳胶的默认字体’Roman’更改为’times new roman’,而不更改任何其他内容?谢谢

对不起,我无法上传图片作为本网站的新用户.

我的计算机上没有安装乳胶,也不想安装乳胶.

例如

import numpy as np

import matplotlib.pyplot as plt

t = np.arange(0.0, 1.0 + 0.01, 0.01)

s = np.cos(4 * np.pi * t) + 2

plt.rc('font', family='times new roman', size=16)

plt.plot(t, s)

plt.annotate('$Roman\ by\ TeX:\ x\ y$',(0.33,1.5))

plt.annotate('Times New Roman: x y', (0.33,1.4),style='italic')

plt.subplots_adjust(top=0.8)

plt.show()

解决方法:

matplotlib中LaTeX的默认设置在.matplotlibrc文件中设置.在Linux上,这是在〜/ .config / matplotlib / matplotlibrc中,在其他平台上它位于〜/ .matplotlib / matplotlibrc(其中〜是你的主目录).在这个文件中有各种选项可以控制matplotlib的行为.

以下设置确定您是否对matplotlib中的所有文本使用LaTeX(您可能不想打开它,但可能):

text.usetex : false

这决定了图的族(这里显示的衬线)和用于衬线的字体:

font.family : serif

font.serif : Times New Roman

以下确定用于数学渲染的内容(这可能是您想要的).如果您取消注释此行,matplotlib将使用上面定义的serif字体(当前为Times)来渲染数学:

mathtext.rm : serif

mathtext.it : serif:italic

mathtext.bf : serif:bold

mathtext.fontset: custom

您可以在SciPy wiki上找到有关在this documentation中的matplotlib中自定义LaTeX的更多信息. font.serif设置允许您将serif字体更改为您想要的任何内容.不幸的是,如果你要求Times New Roman,似乎matplotlib TeX引擎将始终使用罗马字体,见下文:

宋体:

宋体:

Bitstream Vera Serif:

Times New Roman(实际上显示罗马):

正如你所看到的,前三张图片是正确的,但最终的图片肯定不是Times New Roman.如果可接受的替代字体,比特流Vera Serif(从底部开始的第二个)可能在外观上足够接近.

标签:python,matplotlib

来源: https://codeday.me/bug/20190702/1361234.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值