Linux環境matplotlib出力画像の中国語フォント表示問題解決
1461 ワード
実験棟Python個人プロジェクトにおけるデータ解析フロントエンドで示された1つのスキームは,フロントエンド要求時にバックエンドが
出力結果
これは
この行のコメントは削除されます
この行の注釈は削除され、後の値の前に追加された中国語フォントファイルが追加され、
最後に
これで中国語フォントの表示ができます.
matplotlib
を用いて動的に生成するために必要な画像をフロントエンドに返すことであり,matplotlib
はデフォルトでは中国語フォント表示をサポートしていないため,中国語に遭遇した場合に表示できない.中国語フォントファイルをインポートすれば、この問題を解決できます.まず、matplotlib
のリソースファイルパスを検索し、次の文を使用します.import matplotlib
print(matplotlib.matplotlib_fname())
出力結果
/usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/matplotlibrc
これは
matplotlib
にロードされたリソースファイルで、フォントファイルは/usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/fonts/ttf
のパスの下に保存されており、この場所でフォントをダウンロードすることができます(https://github.com/dolbydu/font)など、例えば、マイクロスフェアブラック-Microsoft Yahei.ttf
、ブラック-SimHei.ttf
、楷書-STKaiti.TTF
など、ダウンロードしたフォントファイルをttfパスの下に保存してmatplotlibrc
ファイルを修正し、font.family
ファイルを検索する font.family : sans-serif
この行のコメントは削除されます
font.sans-serif :STKaiti, SimHei, Microsoft YaHei, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
この行の注釈は削除され、後の値の前に追加された中国語フォントファイルが追加され、
matplotlib
のデフォルトのsans-serif font-family
が楷書表示フォントを優先的に選択し、中国語を表示できます.最後に
matplotlib
の生成キャッシュファイルを削除する必要がありますrm -rf ~/.cache/matplotlib
これで中国語フォントの表示ができます.