79

以下のプログラムを修正して、正確に 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()
4

4 に答える 4

137

明示的に図を作成すると、図のサイズを設定できます

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

呼び出す前に図のサイズを設定する必要がありplt.plot() ます。保存された図の形式を変更するには、ファイル名の拡張子を変更するだけです。ただし、matplotlib バックエンドのいずれかが tiff をサポートしているかどうかはわかりません

于 2013-06-14T13:38:01.350 に答える
24

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

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()

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

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

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

于 2013-06-14T13:30:49.563 に答える