ホームページ >バックエンド開発 >Python チュートリアル >matplotlibの中国語文字化け問題を解決する5つの有効な方法
5 つの効果的な解決策、matplotlib の中国語文字化け問題に別れを告げるには、具体的なコード例が必要です
要約: Matplotlib をデータ視覚化に使用するプロセスでは、次のことがよくあります。漢字の文字化けの問題は、グラフの美しさと読みやすさに影響を与えます。この記事では、システムのデフォルト フォントの使用、フォントの手動指定、フォント マネージャーの使用、フォント構成ファイルの使用、およびサードパーティ ライブラリの使用という 5 つの効果的な解決策を紹介します。また、読者が matplotlib の中国語文字化け問題を簡単に解決できるように、具体的なコード例が示されています。
Matplotlib では、デフォルトでシステムのデフォルト フォントが使用されますが、システムによっては中国語の文字化けが発生する場合があります。中国語の文字化けの問題は、システムのデフォルトフォントを変更することで解決できます。
import matplotlib.pyplot as plt # 查找系统默认字体路径 print(plt.rcParams["font.family"]) # 修改系统默认字体 plt.rcParams["font.family"] = "Arial Unicode MS" # 正常显示中文 plt.title("中文标题") plt.show()
システムのデフォルトのフォントを使用することに加えて、中国語の文字化けの問題を解決するためにフォントを手動で指定することもできます。特定のフォント名を指定することで、中国語の文字が正しく表示されるようにします。
import matplotlib.pyplot as plt # 手动指定字体 font = {"family": "Arial Unicode MS"} plt.title("中文标题", fontdict=font) plt.show()
Matplotlib には、フォントを管理するための FontManager
クラスが用意されています。 FontManager
クラスを通じてシステムにインストールされているフォントのリストを取得し、適切なフォントを手動で選択して中国語の文字化けの問題を解決できます。
import matplotlib.pyplot as plt import matplotlib.font_manager as fm # 获取字体列表 font_list = fm.findSystemFonts() # 选择一个适合的字体 font_path = font_list[0] font_prop = fm.FontProperties(fname=font_path) plt.title("中文标题", fontproperties=font_prop) plt.show()
Matplotlib は、中国語の文字化けの問題を解決するためのフォント構成ファイルの使用もサポートしています。 matplotlibrc
ファイルを作成し、そのファイル内で適切なフォントを指定できます。
import matplotlib.pyplot as plt # 创建字体配置文件matplotlibrc with open("matplotlibrc", "w") as f: f.write("font.family: Arial Unicode MS") # 使用字体配置文件 plt.rcParams["font.family"] = "Arial Unicode MS" plt.title("中文标题") plt.show()
上記の方法に加えて、サードパーティ ライブラリを使用して中国語の文字化けの問題を解決することもできます。たとえば、fonttools
ライブラリは、システムにインストールされているフォントでサポートされている文字セットと言語を見つけるのに役立ちます。
import matplotlib.pyplot as plt from fontTools.ttLib import TTFont # 查找字体支持的字符集和语言 font_path = "Arial Unicode MS.ttf" font = TTFont(font_path) font_names = font.getNames() charsets = set() languages = set() for name in font_names: if name.isUnicode(): charsets.add(name.string.decode("utf-16")) if name.isWWSFamilyName(): languages.add(name.string.decode()) print("字符集:", charsets) print("语言:", languages) plt.title("中文标题") plt.show()
要約: この記事では、matplotlib の中国語文字化けの問題を効果的に解決する 5 つの方法を紹介し、具体的なコード例を示します。これらの方法を使用することで、読者は簡単に中国語の文字化けの問題を解決し、グラフの美しさと読みやすさを向上させることができます。この記事が、初めて Matplotlib を使用する読者にとって役立つことを願っています。
以上がmatplotlibの中国語文字化け問題を解決する5つの有効な方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。