10

では、郡の境界が指定されている国を描画して色付けするためmatplotlibに使用しています。LineCollection図を pdf ファイルとして保存する場合:

fig.savefig('filename.pdf',dpi=300)

フィギュアのサイズはかなり大きいです。ただし、それらをpngファイルとして保存すると:

fig.savefig('filename.png',dpi=300)

Linuxコマンドを使用してそれらをpdfに変換するとconvert、ファイルは小さくなります。dpiを減らしてみましたが、pdfファイルのサイズは変わりません。図を matplotlib から小さな pdf ファイルとして直接保存する方法はありますか?

4

2 に答える 2

27

すべてのベクトル情報が含まれているため、PDF はサイズが大きくなります。PNG を保存すると、ラスタライズされたイメージが生成されます。あなたの場合、プロットを直接ラスタライズすることで、より小さなPDFを生成できるようです:

plt.plot(x, y, 'r-', rasterized=True)

ここに、x, yいくつかのプロット座標があります。基本的に、追加のキーワード引数raterizedを使用して効果を得る必要があります。

于 2012-05-21T13:27:23.150 に答える
2

「rasterized = True」を使用すると、画像をpng形式と同様に効果的に保存できると思います。ズームインすると、ぼやけたピクセルが表示されます。

数値を高品質にしたい場合は、データからサンプリングしてプロットを作成することをお勧めします。PDF ファイルのサイズは、記憶する必要があるデータ ポイントの量とほぼ同じです。

于 2016-02-16T20:22:47.807 に答える