Partage de la méthode pour résoudre le problème des caractères chinois tronqués dans Matplotlib
Matplotlib est une puissante bibliothèque de visualisation de données qui fournit de riches fonctions de dessin, mais dans l'environnement chinois, le problème des caractères tronqués se produit souvent. Cet article partagera plusieurs méthodes pour résoudre le problème des caractères chinois tronqués dans Matplotlib et fournira des exemples de code spécifiques.
Méthode 1 : définir la police par défaut
La police par défaut utilisée par Matplotlib ne prend pas en charge les caractères chinois. Nous pouvons résoudre le problème tronqué en définissant la police par défaut. Tout d'abord, vous devez déterminer les noms de polices qui prennent en charge le chinois dans le système actuel, tels que « SimHei », « Microsoft YaHei », etc. Ensuite, utilisez matplotlib.rcParams pour définir la police.
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置默认字体为SimHei plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题 # 绘图代码 plt.plot([1, 2, 3, 4]) plt.xlabel('横坐标') plt.ylabel('纵坐标') plt.title('示例图') plt.show()
Avec le code ci-dessus, nous définissons la police par défaut sur "SimHei" et définissons axes.unicode_minus sur False, ce qui peut résoudre le problème des signes négatifs affichés dans Matplotlib. De cette façon, nous pouvons afficher normalement les caractères chinois.
Méthode 2 : Utiliser des fichiers de polices personnalisés
S'il n'y a pas de polices prenant en charge le chinois par défaut dans le système, nous pouvons résoudre le problème tronqué en utilisant des fichiers de polices personnalisés. Tout d’abord, vous devez télécharger un fichier de police prenant en charge les caractères chinois, tel que « msyh.ttc ». Ensuite, utilisez FontProperties pour charger des polices personnalisées.
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties font = FontProperties(fname=r'path/to/msyh.ttc') # 加载自定义字体 # 绘图代码 plt.plot([1, 2, 3, 4]) plt.xlabel('横坐标', fontproperties=font) plt.ylabel('纵坐标', fontproperties=font) plt.title('示例图', fontproperties=font) plt.show()
Avec le code ci-dessus, nous chargeons le fichier de police personnalisé dans FontProperties et spécifions la police à utiliser dans le dessin à l'aide du paramètre fontproperties. De cette façon, nous pouvons également afficher normalement les caractères chinois.
Méthode 3 : Utiliser des icônes pour afficher les caractères chinois
Parfois, il vous suffit d'afficher les caractères chinois à des emplacements spécifiques tels que les légendes et les étiquettes au lieu des paramètres globaux. Nous pouvons résoudre le problème des caractères tronqués en spécifiant des polices à des emplacements spécifiques. Par exemple, pour utiliser des caractères chinois dans la légende, vous pouvez utiliser le paramètre fontproperties.
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties font = FontProperties(fname=r'path/to/msyh.ttc') # 加载自定义字体 # 绘图代码 plt.plot([1, 2, 3, 4], label='曲线', color='r') plt.legend(prop=font) # 图例中使用中文字符 plt.xlabel('横坐标') plt.ylabel('纵坐标') plt.show()
Avec le code ci-dessus, nous utilisons le caractère chinois "courbe" dans la légende et spécifions l'utilisation d'une police personnalisée via le paramètre prop. De cette façon, nous pouvons afficher correctement les caractères chinois à des positions spécifiques.
Pour résumer, nous pouvons résoudre le problème du chinois tronqué de Matplotlib en définissant la police par défaut, en utilisant des fichiers de polices personnalisés et en spécifiant les polices à des emplacements spécifiques. Choisir la méthode appropriée permet de mieux afficher les caractères chinois dans la visualisation des données.
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!