テスト環境:Mac mini (M1, 2020) macOS Monterey 12.5
~/.matplitlib/matplotlibrc:
backend: MacOSX font.family: Hiragino Sans font.weight: 400
テストコード:
import matplotlib.pyplot as plt plt.plot([-1, 1]) plt.title("日本語タイトル") plt.savefig("filename.png", bbox_inches="tight") plt.savefig("filename.jpg", bbox_inches="tight") plt.savefig("filename.pdf", bbox_inches="tight") plt.savefig("filename.svg", bbox_inches="tight") plt.savefig("filename.svgz", bbox_inches="tight")
filename.png (24616バイト)
filename.jpg (17292バイト)
filename.pdf (10880バイト)
filename.svg (23122バイト)
filename.svgz (6316バイト)
フォントを埋め込まないSVG:
import matplotlib.pyplot as plt plt.rcParams["font.family"] = ["sans-serif"] plt.rcParams["font.weight"] = "normal" plt.rcParams["svg.fonttype"] = "none" plt.plot([-1, 1]) plt.title("日本語タイトル") plt.savefig("filename2.svg", bbox_inches="tight")
filename2.svg (8612バイト)
拡張子 svgz のファイルは,単に svg を gzip で圧縮しただけのものである。これをファイルとして開いて表示できるブラウザは残念ながらなさそうである。ネット越しなら,svg を表示できるブラウザは svgz も表示できる。ただし,そのためにはまず,Webサーバの /etc/mime.types に
image/svg+xml svg svgz
という行が必要である。なければ httpd.conf (/etc/httpd/conf あたりに入っている) に
AddType image/svg+xml svg svgz
と書き込んでおけばよい。これに加えて,httpd.conf には
AddEncoding gzip svgz
という行も必要である。httpd.conf の編集が難しい場合は,画像と同じディレクトリ(または親ディレクトリ)に .htaccess というファイルを作って,httpd.conf に書き込むべきことを書き込んでおく。
PDFについては,MacではSafari以外ダメ,iPhoneではSafari,Chrome大丈夫,Windowsではすべてダメのようである。PDF以外はすべてOK。
Last modified: