ホームページ >バックエンド開発 >Python チュートリアル >matplotlib で文字化けした中国語に対処する方法に関するヒントや経験を共有する

matplotlib で文字化けした中国語に対処する方法に関するヒントや経験を共有する

王林
王林オリジナル
2024-01-13 14:14:131459ブラウズ

matplotlib で文字化けした中国語に対処する方法に関するヒントや経験を共有する

matplotlib の中国語文字化けを解決するためのヒントと経験の共有

[はじめに]
matplotlib を使用してグラフィックを描画する場合、必然的に中国語の問題に遭遇します。文字化け。この問題は通常、凡例、軸ラベルなどで発生します。この問題を解決するために、この記事では読者が matplotlib での中国語の文字化けの問題を簡単に解決できるよう、いくつかの実用的なヒントと経験を紹介します。

[問題の説明]
matplotlib を使用してグラフィックを描画する場合、デフォルトで英語の文字セットが使用されます。中国語テキストを追加する場合、matplotlib のデフォルトの文字エンコーディングが ASCII 文字セットであるため、中国語の文字が正しく表示されず、文字化けして表示されます。この問題を解決するには、さまざまなオペレーティング システムやプログラム環境に対応する調整を行う必要があります。

[解決策]
1. システムのデフォルト フォントを変更する
matplotlib で中国語の文字を正しく表示できるようにするために、システムのデフォルト フォントを変更できます。 Windows オペレーティング システムを例に挙げると、次の手順でセットアップできます。

  1. matplotlib のフォント構成ファイルを開き、次のコードを使用してファイル パスを見つけることができます。
##import matplotlib

matplotlib.matplotlib_fname()

    このパスで
  1. matplotlibrc ファイルを見つけ、開いて font.family を見つけます。 font.sans-serif2 つのパラメーターの設定を次のように変更します:
font.family: Microsoft Yahei、SimHei、Arial

font。サンセリフ: Microsoft Yahei、SimHei、Arial

    変更を保存してプログラムを再実行すると、中国語の文字が正しく表示されます。
2. フォントを手動で設定する

システムのデフォルト フォントを変更するだけでなく、プログラムでフォントを手動で設定することもできます。これを実現するには、次のコード スニペットを使用します。

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

この方法では、フォントを「Microsoft YaHei」に設定します。これは一般的に使用される中国語フォントであり、角括弧内に他の中国語フォントを追加することで置き換えることができます。

3. Unicode エンコードを使用する

特殊なケースでは、システムのデフォルト フォントを変更したり、フォントを手動で設定したりできない場合があります。現時点では、Unicode エンコードを使用して中国語の文字を表示できます。例:

plt.xlabel(u'horizo​​ntal axis name')

文字列の前にプレフィックス「u」を追加して、文字列が Unicode エンコードを使用していることを示し、matplotlib が正しく表示できるようにします。漢字 。

4. fontproperties パラメータを使用する

場合によっては、凡例やその他の場所で漢字を使用する必要があるかもしれません。このとき、fontproperties パラメーターを使用して、対応する中国語フォントを指定し、フォントを設定できます。例:

import matplotlib.font_manager as fm

font = fm.FontProperties(fname='Microsoft YaHei.ttf')

plt.xlabel('水平軸名', fontproperties = font)

このようにフォントを指定して漢字を表示することができます。

【コード例】

次のコード例は、中国語の文字を正しく表示する方法を示しています。

import matplotlib.pyplot as plt

import matplotlib.font_manager as fm

フォントを設定します

font = fm.FontProperties(fname='Microsoft YaHei.ttf')

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

グラフィックの描画

#xx = [1, 2, 3, 4]

y = [5, 6, 7, 8]

plt.plot(x, y)

座標軸ラベルの中国語表示と凡例の設定

plt.xlabel('横軸名', fontproperties=font)

plt.ylabel('縦軸名', fontproperties=font)

plt.legend(['curve'], prop=font)

表示グラフィックス

plt.show()

[概要]

matplotlib 中国語の解決文字化けに関する質問には、特定のニーズに基づいて適切な方法を選択できます。システムのデフォルトのフォントを変更したり、フォントを手動で設定したり、Unicode エンコードを使用したり、fontproperties パラメーターを使用したりすることで、中国語の文字を簡単に正しく表示できます。この記事のスキルと経験が読者の matplotlib での中国語の文字化けの問題を解決し、描画効果を向上させるのに役立つことを願っています。

以上がmatplotlib で文字化けした中国語に対処する方法に関するヒントや経験を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。