python - 带有 text.usetex 'true' 的轴字体不使用设置字体

标签 python matplotlib

我将 matplotlibrc 参数文件中的字体样式设置为 Helvetica(无衬线字体),并将 text.usetex 设置为“True”,但轴字体使用衬线字体。如何让轴字体使用无衬线字体?

最佳答案

有时仅更改 .matplolibrc 是不够的。例如,在 OS X 中,Helvetica 默认安装,但存储为 Matplotlib 无法访问的 .dfont 文件。如果是这种情况,您需要将其转换为 .ttf 并将其放在正确的文件夹中,以便 matplotlib 可以看到它。请看here了解更多详情。

这样的事情可以帮助您解决问题:

import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager

path = '/home/username/Helvetica.ttf'
prop = font_manager.FontProperties(fname=path)
mpl.rcParams['font.family'] = prop.get_name()

fig, ax = plt.subplots()
ax.set_title('Test text', fontproperties=prop, size=40)

查看所有可用的字体:

import matplotlib.font_manager
print matplotlib.font_manager.findSystemFonts(fontpaths=None)

关于python - 带有 text.usetex 'true' 的轴字体不使用设置字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27940149/

相关文章:

python - 将给定字母表的字符串转换为整数

Python:如何获取多个系统命令的最终输出?

python - 将 2 个 csv 文件与一个唯一列但不同的标题合并

python - 使用颜色图在 mplot 3D 中表示 4D 数据

python - 在 matplotlib 中更改填充颜色

python - 在不使用等宽字体的情况下,在多个点对齐 Pyplot 图例行中的文本

python - 双迭代线构造

python - 在 Pandas 上绘制整行

python - Pandas 将分钟数字索引(0 到 1440)转换为日期时间

python - 如何创建以列作为数组的 pandas 数据框