0

プロットを作成するために、次の方法でコードを記述しました。

from pylab import *

x = [1,2,3]
y = [1,2,3]

matplotlib.pyplot.scatter(x,y,label='Blah')
matplotlib.pyplot.legend(title='Title')
matplotlib.pyplot.show()

凡例タイトルのフォントサイズを変更したい。これを行う方法は、凡例オブジェクトを取得してから、その方法でタイトルを変更することです (たとえば、Matplotlib 軸の凡例のフォント サイズを設定する方法は? ) 。

ax.XXX、figure.XXX などを使用してすべてのコードを書き直す代わりに、私が書いたコードから凡例オブジェクトを取得し、そこから移動する方法はありますか?

つまり、どう定義するか

Legend

私の元のコードから、

Title = Legend.get_title()
Title.set_fontsize(30)

タイトル オブジェクトを取得し、.get_title() で遊ぶことができますか?

私は、オブジェクト指向言語に関して、ひらめきの瞬間の瀬戸際にいると思います。私は良い答えが私にそのひらめきの瞬間を与えてくれると感じています!

乾杯、

ゲド

4

1 に答える 1

2

まず、コードではfrom pylab import *、インポートされたメソッドを直接使用するかimport matplotlib.pyplot as pltplt.*代わりにand を使用することに固執する必要がありmatplotlib.pyplot.*ます。これらは両方とも、matplotlib を使用する場合の「規則」です。pylab は主にインタラクティブなプロットに使用されるため、後者 (つまり pyplot) は一般的にスクリプト作成に好まれます。

pylab と pyplot の違いをよりよく理解するには、matplotlib FAQを参照してください。

目の前の問題に戻ります。Python でオブジェクトを「取得」するには、オブジェクトを変数に割り当てるだけです。

from pylab import *

x = [1,2,3]
y = [1,2,3]

scatter(x,y,label='Blah')

# Assign the Legend object to a variable leg
leg = legend(title='Title')
leg_title = leg.get_title()
leg_title.set_fontsize(30)

# Optionally you can use the one-liner
#legend(title='Title').get_title().set_fontsize(30)

show()

視覚的な比較 (上記のコードで生成された一番右のサブプロット):

フォントサイズを指定した場合と指定しない場合の視覚的な比較

于 2013-08-07T12:18:02.253 に答える