Maison >développement back-end >Tutoriel Python >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'
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()
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()
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()
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!