プロットを設定する3行があります。 pic.pngのサイズは640x640ピクセルになると思います。しかし、私は800x800の画像を持っています。散布図のサイズを設定する方法
plt.figure(figsize=(8, 8), dpi=80)
plt.scatter(X[:],Y[:])
plt.savefig('pic.png')
私はオブジェクト指向のインターフェイスでサイズを設定するのに問題はありませんが、私はパイロットスタイルを使用する必要があります。
プロットを設定する3行があります。 pic.pngのサイズは640x640ピクセルになると思います。しかし、私は800x800の画像を持っています。散布図のサイズを設定する方法
plt.figure(figsize=(8, 8), dpi=80)
plt.scatter(X[:],Y[:])
plt.savefig('pic.png')
私はオブジェクト指向のインターフェイスでサイズを設定するのに問題はありませんが、私はパイロットスタイルを使用する必要があります。
次のコードは、私のマシンで576x576 PNG画像を生成:
plt.savefig
呼び出しが正しく640x640 PNG画像では結果に
dpi=80
をシフト
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
y = np.random.rand(10)
plt.figure(figsize=(8, 8), dpi=80)
plt.scatter(x, y)
plt.savefig('pic.png')
:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
y = np.random.rand(10)
plt.figure(figsize=(8, 8))
plt.scatter(x, y)
plt.savefig('pic.png', dpi=80)
私はいずれかを提供することはできませんなぜこれが起こるかについての説明。
アルベルトの回答が正しい回避策を示していますが、documentation for plt.savefig
を見ると、なぜこの現象が起こるのかがわかります。
dpi:[なし|スカラー> 0 | 'figure'] 解像度は1インチあたりのドット数です。 Noneの場合、デフォルトでは、matplotlibrcファイルの値savefig.dpiになります。 'figure'の場合は、dpiをFigureの値に設定します。
短い答え:図の作成時に設定したdpi値を使用する使用plt.savefig(..., dpi='figure')
。
長い答え:plt.figure(figsize=(8,8), dpi=80)
と、次の方法で640x640の図を得ることができます。
はplt.savefig
にdpi='figure'
キーワード引数を渡す:
plt.figure(figsize=(8, 8), dpi=80)
...
plt.savefig('pic.png', dpi='figure')
明示的に与えますあなたがしたいdpi savefig
:
plt.figure(figsize=(8, 8))
...
plt.savefig('pic.png', dpi=80)
編集し次の行では、あなたのmatplotlibrc file:私はできるだけ多くの疑い、その後
#figure.dpi : 80 # figure dots per inch
plt.figure(figsize=(8, 8))
...
plt.savefig('pic.png') #dpi=None implicitly defaults to rc file value
。私はmatplotlibのメンテナーがこの動作の正当な理由を持っていると思います---そうでなければ '' figure'''をデフォルトにします。しかし、情報をありがとう! –