web-dev-qa-db-ja.com

matplotlibで図のサイズと図の形式を変更する

正確に4 x 3インチのサイズのfig1を取得し、tiff形式で以下のプログラムを修正します。

import matplotlib.pyplot as plt
list1 = [3,4,5,6,9,12]
list2 = [8,12,14,15,17,20]
plt.plot(list1, list2)
plt.savefig('fig1.png', dpi = 300)
plt.close()

助けがありますか?

53
golay

Figureを明示的に作成する場合、Figureサイズを設定できます。

plt.figure(figsize=(3,4))

保存したFigureの形式を変更するには、ファイル名の拡張子を変更します。しかし、matplotlibバックエンドのいずれかがtiffをサポートしているかどうかはわかりません

76

これを追加することで、プロットのサイズを変更できます

plt.rcParams["figure.figsize"] = [16,9]
39
ghosh'.

最初の部分(出力サイズを明示的に設定する)はそれほど難しくありません:

import matplotlib.pyplot as plt
list1 = [3,4,5,6,9,12]
list2 = [8,12,14,15,17,20]
fig = plt.figure(figsize=(4,3))
ax = fig.add_subplot(111)
ax.plot(list1, list2)
fig.savefig('fig1.png', dpi = 300)
fig.close()

しかし、matplotlib + tiffでGoogleをすばやく検索した後、matplotlibがtiffプロットを作成できると確信していません。 GDKバックエンド ができるという言及があります。

1つのオプションは、imagemagickのconvertなどのツールで出力を変換することです。

(別のオプションは、 本当のmatplotlibの専門家 が表示され、間違っていると証明されるまでここで待つことです;-)

18
mgilson

Figureのサイズを変更する必要がある場合after作成した場合、メソッドを使用します

fig = plt.figure()
fig.set_figheight(value_height)
fig.set_figwidth(value_width)

value_heightvalue_widthはインチ単位です。私にとってこれが最も実用的な方法です。

6
Antoni