web-dev-qa-db-ja.com

plt.titleのフォントサイズを増やす方法

Python matplotlibを使用していますが、これが私のコードです。

  plt.title('Temperature \n Humidity')

温度と湿度の両方ではなく、温度のフォントサイズを大きくするにはどうすればよいですか?

これは動作しません:

 plt.title('Temperature \n Humidity', fontsize=100)
15
user3855104
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を簡単に微調整し、最初の2つのfigtext位置パラメーターを変更することで配置を調整できます。 haは、 水平方向の配置

あるいは、

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で。その場合、Sudo pacman -S tkまたは このリンクに従う を使用してtkをインストールします

20
Tanmaya Meher

fontsize辞書内で割り当てることができますfontdictこれは追加のパラメータfontweight、verticalalignment、horizo​​ntalalignmentを提供します

以下のスニペットは動作するはずです

plt.title('Temperature \n Humidity', fontdict = {'fontsize' : 100})

6
Shyam A

これは、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)
_

ticラベルのサイズを調整するには、奇妙なforループ構造が必要と思われます。また、上記の関数はplt.show(block=True)の呼び出しの直前に呼び出す必要があります。そうでない場合は、何らかの理由でタイトルサイズが変更されないことがあります。

4
Patrick Pribyl

Matplotlibを使用していくつかのプロットをレンダリングすると仮定します。

あなたはチェックアウトしたいかもしれません LaTeXによるテキストレンダリング— Matplotlib

ここにあなたのケースのためのコードのいくつかの行があります

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

plot

お役に立てば幸いです。

3
yipeipei