画像テストページ

テスト環境: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バイト)

png

filename.jpg (17292バイト)

jpg

filename.pdf (10880バイト)

pdf

filename.svg (23122バイト)

svg

filename.svgz (6316バイト)

svgz

フォントを埋め込まない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バイト)

svg

拡張子 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: