· 

Matplotlibで散布図をラスタライズしてpdf/svg形式で高速に表示できるようにする

(著)山拓

 

Matplotlibにおいて散布図などをpdfやsvg形式で保存すると描画に時間がかかる場合が多い。もちろんそうして得られた画像はベクター形式なので拡大してもボケないが、散布図をそれほど拡大して見るということも少ないので、できれば高速に描画したい。

 

その方法を探していたが、Matplotlibには出力をラスタライズ(rasterise)する方法がちゃんとあった。のでメモとして記録しておく。ラスタライズは画像をビットマップ形式で保存することであり、Matplotlibの場合、次のようにすれば描画部(軸など以外)のみビットマップ形式で保存してくれる。

 

plt.figure(figsize=(5, 5))
a = plt.scatter(np.random.rand(1000), np.random.rand(1000), alpha=0.2)
a.set_rasterized(True)
plt.savefig('test.pdf', dpi=300)

コメントをお書きください

コメント: 1
  • #1

    sokap (月曜日, 02 8月 2021 16:59)

    Thanks for your helpful information. I have been struggling to find many questions about this issue. I will follow you! [URL=https://motox3m.co]moto x3m[/URL]