Matplotlib で高解像度でグラフをプロットして保存する方法
Matplotlib でグラフを高解像度で保存するには、savefig()
関数のさまざまなパラメーターを制御します。同様に、figure()
関数で高い値の dpi
パラメータを設定することにより、グラフを高解像度でプロットできます。
Matplotlib で高解像度でグラフをプロット
matplotlib.pyplot.figure()
関数で dpi
の値を高く設定することで、図を高解像度でプロットできます。
matplotlib.pyplot.figure()
の構文:
matplotlib.pyplot.figure(num=None,
figsize=None,
dpi=None,
facecolor=None,
edgecolor=None,
frameon=True,
FigureClass=<class 'matplotlib.figure.Figure'>,
**kwargs)
dpi
は 1 インチあたりのドット数を表します。これは、図の 1 インチあたりのピクセル数を表します。matplotlib.pyplot.figure()
関数の dpi
のデフォルト値は 100 です。より高い値の dpi
を設定して、高解像度のプロットを生成できます。ただし、dpi
を増やすと図も拡大されるため、図が切り取られないように、dpi
の適切な値を調整する必要があります。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 20)
m = 1.5
c = 2
y = m * x + c
plt.figure(dpi=150)
plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.show()
出力:
Matplotlib で図を高解像度で保存
matplotlib.pyplot.savefig()
関数で dpi
の値を高く設定することで、高解像度で図をプロットできます。
matplotlib.pyplot.savefig()
の構文:
matplotlib.pyplot.savefig(fname,
dpi=None,
facecolor='w',
edgecolor='w',
orientation='portrait',
papertype=None,
format=None,
transparent=False,
bbox_inches=None,
pad_inches=0.1,
frameon=None,
metadata=None)
保存された Figure の解像度は、savefig()
関数の dpi
パラメーターで制御できます。同様に、プロットの保存中にフォーマットを変更することもできます。一般に、png
は可逆圧縮形式であり、他は非可逆圧縮形式であるため、高解像度のプロットでは png
と jpg
よりも優れています。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 5)
m = 1.5
c = 2
y = m * x + c
plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.savefig("High resoltion.png", dpi=300)
これにより、デフォルトの場合よりも高い解像度で現在の作業ディレクトリにプロットが High resoltion.png
として保存されます。
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn