使用“Times New Roman”时Matplotlib设置标题粗体

时间:2013-09-23 14:34:57

标签: python matplotlib

最初我可以通过以下方式将数字标题设置为粗体:

import Matplotlib.pyplot as plt

plt.title("Test",fontweight="bold")

但是一旦我使用fontname="Times New Roman"fontweight="bold"就不会导致任何变化:

import Matplotlib.pyplot as plt

plt.title("Test",fontname="Times New Roman",fontweight="bold")

如何将数字标题设置为粗体?

3 个答案:

答案 0 :(得分:5)

假设它已安装在您的系统上,那么它有一个大胆的时间字体:

plt.title("Test", fontname="Times New Roman Bold")

您可以在此处找到系统中的字体列表:How to get a list of all the fonts currently available for Matplotlib?

我有:

>>> [i for i in matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')
if 'times' in i.lower()]
['/Library/Fonts/Times New Roman.ttf',
 '/Library/Fonts/Times New Roman Italic.ttf',
 '/Library/Fonts/Times New Roman Bold Italic.ttf',
 '/Library/Fonts/Times New Roman Bold.ttf']

答案 1 :(得分:1)

在Linux和Mac上,TImes New Roman的粗体字体似乎可以选择正常的字体。这就是为什么你没有看到更改设置正常的变为粗体,它已经是粗体。

我知道这个问题已经很老了,但是当你想要使用普通的问题时,至少对我来说这仍然是一个问题。我找到了一个非常简单的解决方案,由azag0在github上发布

del matplotlib.font_manager.weight_dict['roman']
matplotlib.font_manager._rebuild()

https://github.com/matplotlib/matplotlib/issues/5574

如果您这样做,设置fontweight=bold时会看到更改,因为正确选择了标准版本。

答案 2 :(得分:0)

fontweight是fig.suptitle()函数的参数。 所以这应该为您工作, fig.suptitle("Test",fontweight='bold')