Méthodes pour résoudre le problème des caractères chinois tronqués dans matplotlib

WBOY
Libérer: 2024-01-13 10:36:17
original
1059 Les gens l'ont consulté

Méthodes pour résoudre le problème des caractères chinois tronqués dans matplotlib

Comment résoudre le problème de l'affichage chinois tronqué dans Matplotlib, des exemples de code spécifiques sont nécessaires

Résumé :

Matplotlib est une bibliothèque Python utilisée pour créer diverses formes de graphiques. Cependant, lorsque nous utilisons Matplotlib pour dessiner des caractères chinois, nous rencontrons souvent le problème des caractères tronqués. Cet article explique comment résoudre le problème de l'affichage chinois tronqué dans Matplotlib et fournit des exemples de code spécifiques.

Introduction :

Matplotlib est l'une des bibliothèques de visualisation de données les plus populaires en Python et est largement utilisée dans le calcul scientifique, l'analyse de données et d'autres domaines. Cependant, par défaut, Matplotlib n'est pas compatible avec le support chinois et affiche souvent des caractères tronqués, ce qui gêne les utilisateurs. Ce qui suit présentera plusieurs méthodes pour résoudre le problème de l'affichage chinois tronqué dans Matplotlib et joindra des exemples de code correspondants.

Solution 1 : Modifier la police

La police par défaut de Matplotlib est généralement « Arial », et « Arial » ne prend pas en charge les caractères chinois. Par conséquent, nous pouvons modifier la police par défaut de Matplotlib en une bibliothèque de polices prenant en charge le chinois, telle que « Microsoft Yahei », « SimHei », etc. Voici un exemple de code pour modifier la police :

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
Copier après la connexion

Solution 2 : Spécifier manuellement la police

En plus de modifier la police par défaut, nous pouvons également spécifier manuellement une police spécifique lors du dessin pour résoudre le problème des caractères tronqués. Voici un exemple de code pour spécifier manuellement les polices :

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()
Copier après la connexion

Solution trois : utiliser les propres polices du système

Certains systèmes d'exploitation sont livrés avec des bibliothèques de polices pouvant prendre en charge les caractères chinois. Nous pouvons également utiliser ces bibliothèques de polices pour résoudre le problème des caractères tronqués. personnages. Voici un exemple de code pour utiliser les propres polices du système :

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()
Copier après la connexion

Solution 4 : Utiliser la mise en cache des polices

Matplotlib fournit un mécanisme de mise en cache des polices qui peut mettre en cache les polices qui doivent être utilisées dans le système pour améliorer les performances et résoudre le problème. de personnages tronqués. Voici un exemple de code utilisant le cache de polices :

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()
Copier après la connexion

Résumé :

Cet article présente quatre méthodes pour résoudre le problème de l'affichage chinois tronqué dans Matplotlib et fournit des exemples de code correspondants. En modifiant la police, en spécifiant manuellement la police, en utilisant les propres polices du système et en utilisant le cache de polices, nous pouvons facilement résoudre le problème des caractères tronqués de l'affichage chinois de Matplotlib, nous permettant de mieux dessiner des graphiques chinois. J'espère que cet article sera utile aux lecteurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal