Matplotlibの画質を改善する方法|dpi設定と.eps形式で高解像度の図を出力する
Matplotlibで生成した図の画質が粗くて困ったことはありませんか?論文や印刷物に使用する場合は、特に高解像度が求められます。
Matplotlibの画像品質を向上させるには、dpi(dots per inch:1インチあたりのドット数)の値を大きく設定するのが最も効果的です。一般的に600以上、可能であれば1200程度の値を指定すると、鮮明な画像を得られます。また、保存形式としてはPDF形式やEPS形式のようなベクター形式を推奨します。これらの形式は拡大・縮小しても画質が劣化しないため、学術論文や出版用途に最適です。
手順
- 図のサイズ(figure size)を設定し、サブプロット間および周囲の余白(padding)を調整します。
- np.arrayを使って2次元のラスタデータを作成します。
- imshow()メソッドでデータを画像として表示します(2次元の正規ラスタ上に描画)。
- savefig()メソッドを使用し、dpi=1200かつ.eps形式を指定して現在の画像を保存します。
- show()メソッドで図を画面に表示します。
コード例
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
data = np.array(
[[0.1, 0.7, 0.6, 0.3],
[0.2, 0.6, 0.5, 0.2],
[0.8, 0.3, 0.80, 0.01],
[0.3, 0.4, 0.2, 0.1]]
)
plt.imshow(data, interpolation="nearest", cmap="RdYlGn_r")
plt.savefig("myimage.eps", dpi=1200)
plt.show()出力結果
上記のコードを実行すると、カラーマップ「RdYlGn_r」で色分けされた4×4のヒートマップが表示され、同時にmyimage.epsというファイル名でdpi=1200の高解像度画像が保存されます。このように保存されたEPSファイルは、ベクター形式のため拡大してもぼやけることなく、印刷品質の高い図として利用できます。
補足:dpiとファイル形式の使い分け
- PNG形式:Web表示向けの手軽なラスター形式。dpiを上げることで解像度を確保できます。
- PDF / EPS / SVG形式:ベクター形式のため、dpiに依存せず常に鮮明。論文投稿や印刷に最適です。
用途に応じて適切な形式とdpiを選択することで、Matplotlibの出力画質を大幅に改善できます。
-
Windows 10の壁紙圧縮を無効にして、デスクトップ画像の画質を向上させる方法
Windows 10では、壁紙として設定した画像が自動的に圧縮され、元の画質の85%まで落とされてからデスクトップ背景に適用されます。この仕組みはディスク容量の節約やパフォーマンス向上にある程度役立ちますが、その分、画像の品質は犠牲になります。スペックが中程度のPCにとっては有効な機能ですが、十分なRAMを搭載しているシステムであれば、壁紙の自動圧縮を無効化することで、より高画質なデスクトップ背景を楽しめます。ここでは、その具体的な手順を解説します。 Windows 10の壁紙圧縮を無効にする方法 実はWindowsは、フル品質の画像をそのままデスクトップに適用していません。システムパフォーマ
-
Windows 10の壁紙圧縮を無効にして、デスクトップ画像の画質を向上させる方法
Windows 10では、壁紙として設定した画像が自動的に圧縮され、元の画質の85%まで落とされてからデスクトップ背景に適用されます。この仕組みはディスク容量の節約やパフォーマンスの向上にある程度役立ちますが、その分、画像の品質は犠牲になります。ミドルスペックのPCでは便利な機能ですが、十分なメモリ(RAM)を搭載しているシステムであれば、壁紙の自動圧縮を無効化してフルクオリティの画像を楽しめます。ここでは、その具体的な手順を解説します。 Windows 10の壁紙圧縮を無効にするには 実は、Windowsはデスクトップにフルクオリティの画像を適用していません。システムパフォーマンスを高めるた