如何增加plt.title字体大小?

时间:2014-07-30 12:21:24

标签: python matplotlib graph

我正在使用Pythons matplotlib,这是我的代码:

  plt.title('Temperature \n Humidity')

如何才能增加温度的字体大小,而不是温度和温度。谦虚?

这不起作用:

 plt.title('Temperature \n Humidity', fontsize=100)

6 个答案:

答案 0 :(得分:20)

import matplotlib.pyplot as plt
plt.figtext(.5,.9,'Temperature', fontsize=100, ha='center')
plt.figtext(.5,.8,'Humidity',fontsize=30,ha='center')
plt.show()

可能你想要这个。您可以轻松调整两者的fontsize并通过更改前两个figtext位置参数来调整放置位置。 ha代表horizontal alignment

可替换地,

import matplotlib.pyplot as plt

fig = plt.figure() # Creates a new figure
fig.suptitle('Temperature', fontsize=50) # Add the text/suptitle to figure

ax = fig.add_subplot(111) # add a subplot to the new figure, 111 means "1x1 grid, first subplot"
fig.subplots_adjust(top=0.80) # adjust the placing of subplot, adjust top, bottom, left and right spacing  
ax.set_title('Humidity',fontsize= 30) # title of plot

ax.set_xlabel('xlabel',fontsize = 20) #xlabel
ax.set_ylabel('ylabel', fontsize = 20)#ylabel

x = [0,1,2,5,6,7,4,4,7,8]
y = [2,4,6,4,6,7,5,4,5,7]

ax.plot(x,y,'-o') #plotting the data with marker '-o'
ax.axis([0, 10, 0, 10]) #specifying plot axes lengths
plt.show()

替代代码的输出:

enter image description here

PS:如果此代码出现ImportError: libtk8.6.so: cannot open shared object file esp等错误。在Arch like systems。在这种情况下,请使用tkFollow this link

安装sudo pacman -S tk

答案 1 :(得分:3)

在最新版本的Matplotlib(目前为2.0.2)中,这主要适用于我。它有助于生成演示图形:

def plt_resize_text(labelsize, titlesize):
    ax = plt.subplot()
    for ticklabel in (ax.get_xticklabels()):
        ticklabel.set_fontsize(labelsize)
    for ticklabel in (ax.get_yticklabels()):
        ticklabel.set_fontsize(labelsize)
    ax.xaxis.get_label().set_fontsize(labelsize)
    ax.yaxis.get_label().set_fontsize(labelsize)
    ax.title.set_fontsize(titlesize)

奇怪的for-loop结构似乎是调整每个 tic标签大小所必需的。 此外,应在调用plt.show(block=True)之前调用上述函数,否则无论出于何种原因标题大小偶尔保持不变。

答案 2 :(得分:2)

假设您使用matplotlib渲染一些图。

您可能想要结帐Text rendering With LaTeX — Matplotlib

以下是您案例的一些代码行

plt.rc('text', usetex=True)
plt.title(r"\begin{center} {\Large Temperature} \par {\large Humidity} \end{center}")

plot

希望有所帮助。

答案 3 :(得分:1)

可以在字典 fontdict 中分配

fontsize ,该字典提供了额外的参数fontweight,verticalalignment,horizo​​ntalalignment

下面的代码段应该可以工作

spark-shell --version

答案 4 :(得分:0)

我不想完全进入此图表 通用方法: 第一步-在主标题和图表之间拉开距离:

from matplotlib import rcParams
rcParams['axes.titlepad'] = 20 

然后通过设置坐标插入字幕:

ax.text(0.3, -0.56, 'subtitle',fontsize=12)

enter image description here

答案 5 :(得分:0)

只需执行以下操作: ax.set_title('This is the title',fontsize=20)