suptitle中的多种大小字体

时间:2018-05-22 08:26:52

标签: python matplotlib

我想在我的图表中有多个标题。一张图片比任何一个更好: enter image description here

我为每个图表(D2 / E,D3 / E和D4 / E)使用title,为标题1和2使用suptitle,但它们具有相同的字体大小。是否有针对标题1和标题2具有不同大小的解决方案?

我已经看过this solution使用LaTeX,但问题是当我使用plt.rc('text', usetex=True)时,每个字体和文字都会被更改。此外,我在每个标题中使用变量,看起来我无法使用LaTeX。

1 个答案:

答案 0 :(得分:5)

您可以使用matplotlib.pyplot.text个对象来获得相同的结果。请注意,您需要确保使用transform=fig.transFigure参数来使用图形坐标系,并使用ha = "center"设置水平对齐

一个例子:

import matplotlib.pyplot as plt

fig, axes = plt.subplots(1,3)
plt.text(x=0.5, y=0.94, s="My title 1", fontsize=18, ha="center", transform=fig.transFigure)
plt.text(x=0.5, y=0.88, s= "My title 2 in different size", fontsize=12, ha="center", transform=fig.transFigure)

for i, ax in enumerate(axes.flatten()):
    ax.set_title("D{}/E".format(i))

plt.subplots_adjust(top=0.8, wspace=0.3)

plt.show()

enter image description here