質問: dataframe["y"] plt.plot(x, y) plt.savefig("line.svg", format="svg",dpi=1200) ``` 一応このように「.svg」形式で保存して,dpiも一応指定しているのですが, 2つほど,ご質問がございます. 1. ベクター画像は無限の解像度を持っているので,dpiは指定しなくてもよいのでしょうか? 2. PowerPointやWord等のOffice365に.svgファイルを張り付けると,拡大してもきれいに映るのですが, 実際に紙媒体として印刷すると,多少ぼやけてしまいます.これは仕方のないことなのでしょうか? どんなご回答も歓迎いたします. どうぞ宜しくお願い致します.
回答: > > ベクター画像は無限の解像度を持っているので,dpiは指定しなくてもよいのでしょうか? > > > SVGフォーマットに詳しくないので実際に`dpi=1`と`dpi=1200`でSVG出力したファイルをテキスト比較してみました。XML要素の細かいid違いしかなく、パスなどの座標値は同一でしたので`dpi`は指定しなくてもよいと思います。 > > PowerPointやWord等のOffice365に.svgファイルを張り付けると,拡大してもきれいに映るのですが, > > 実際に紙媒体として印刷すると,多少ぼやけてしまいます.これは仕方のないことなのでしょうか? > > > 当方環境には今`LibreOffce Writer`しかないのですが、`.docx`形式ファイルにSVG画像を配置すると同様現象(ぼやける)が再現しました。おそらく配置した時点でラスタ形式に変換されるらしく`Writer`画面上でも拡大するとぼやけて見えました。 そこで以下ページを参考にinkscapeで`SVG`を`EMF`形式ファイルに変換したあとで配置するとぼやけなくなりました。 参考: WordからPDF変換する際に画質が落ちてしまう問題 【解決】 Matplotlibで作成したsvgファイルをemfファイルに変換