matplotlibの中国語文字化け問題を解決する方法

WBOY
リリース: 2024-01-13 10:36:17
オリジナル
1057 人が閲覧しました

matplotlibの中国語文字化け問題を解決する方法

Matplotlib での中国語表示の文字化けの問題を解決する方法。具体的なコード例が必要です。

要約:

Matplotlib は、さまざまなコードを作成するためのツールです。チャートの形式の Python ライブラリ。しかし、Matplotlib を使用して漢字を描画すると、文字化けの問題が頻繁に発生します。この記事では、Matplotlib の中国語表示が文字化けする問題を解決する方法と具体的なコード例を紹介します。

はじめに:

Matplotlib は、Python で最も人気のあるデータ視覚化ライブラリの 1 つで、科学技術コンピューティング、データ分析、その他の分野で広く使用されています。ただし、Matplotlib はデフォルトでは中国語のサポートに不向きで、文字化けが表示されることが多く、ユーザーに不便を与えます。以下では、Matplotlib での中国語表示の文字化けの問題を解決するいくつかの方法を紹介し、対応するコード例を添付します。

解決策 1: フォントを変更する

Matplotlib のデフォルトのフォントは通常 'Arial' ですが、'Arial' は中国語の文字をサポートしていません。したがって、Matplotlib のデフォルト フォントを、「Microsoft Yahei」、「SimHei」などの中国語をサポートするフォント ライブラリに変更できます。以下は、フォントを変更するコード例です。

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
ログイン後にコピー

解決策 2: フォントを手動で指定します

デフォルトのフォントを変更するだけでなく、描画時に特定のフォントを手動で指定することもできます。文字化けの問題を解決します。以下は、フォントを手動で指定するコード例です。

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

# 手动指定字体
font = fm.FontProperties(fname='C:/Windows/Fonts/msyh.ttc')

# 绘图
plt.plot([1, 2, 3, 4, 5], [1, 4, 9, 16, 25])
plt.xlabel('横轴', fontproperties=font)
plt.ylabel('纵轴', fontproperties=font)
plt.title('示例图', fontproperties=font)
plt.show()
ログイン後にコピー

解決策 3: システム独自のフォントを使用する

一部のオペレーティング システムには、中国語の文字をサポートできるフォント ライブラリが付属しており、これらを使用することもできます。文字化け問題を解決するフォントライブラリ。以下は、システム独自のフォントを使用するコード例です。

import matplotlib.pyplot as plt

# 使用系统自带字体
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

# 绘图
plt.plot([1, 2, 3, 4, 5], [1, 4, 9, 16, 25])
plt.xlabel('横轴')
plt.ylabel('纵轴')
plt.title('示例图')
plt.show()
ログイン後にコピー

解決策 4: フォント キャッシュを使用する

Matplotlib は、使用する必要があるフォントをキャッシュできるフォント キャッシュ メカニズムを提供します。システムのパフォーマンスを向上させ、文字化けを解決します。以下は、フォント キャッシュを使用したコード例です。

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontManager, FontProperties

# 缓存字体
fm = FontManager()
fp = FontProperties(family='SimHei')
fm.ttflist.extend(fp.get_familyfont())

# 使用缓存的字体绘图
plt.rcParams['font.family'] = fp.get_family()
plt.plot([1, 2, 3, 4, 5], [1, 4, 9, 16, 25])
plt.xlabel('横轴')
plt.ylabel('纵轴')
plt.title('示例图')
plt.show()
ログイン後にコピー

概要:

この記事では、Matplotlib での中国語表示の文字化けの問題を解決する 4 つの方法を紹介し、対応するコード例を示します。フォントを変更したり、フォントを手動で指定したり、システム独自のフォントを使用したり、フォント キャッシュを使用したりすることで、Matplotlib の中国語表示の文字化けの問題を簡単に解決でき、中国語のグラフをより適切に描画できるようになります。この記事が読者のお役に立てば幸いです。

以上がmatplotlibの中国語文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート