Sharing of methods to solve the problem of Chinese garbled characters in Matplotlib
Matplotlib is a powerful data visualization library that provides rich drawing functions, but in the Chinese environment, it is often There will be problems with garbled characters. This article will share several methods to solve the problem of Chinese garbled characters in Matplotlib and provide specific code examples.
Method 1: Set the default font
The default font used by Matplotlib does not support Chinese characters. We can solve the problem of garbled characters by setting the default font. First, you need to determine the font names that support Chinese in the current system, such as "SimHei", "Microsoft YaHei", etc. Next, use matplotlib.rcParams to set the font.
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()
Through the above code, we set the default font to "SimHei" and set axes.unicode_minus to False, which can solve the problem of negative signs displayed in Matplotlib. In this way, we can display Chinese characters normally.
Method 2: Use a custom font file
If the system does not support Chinese fonts by default, we can solve the garbled problem by using a custom font file. First, you need to download a font file that supports Chinese characters, such as "msyh.ttc". Next, use FontProperties to load custom fonts.
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()
Through the above code, we load the custom font file into FontProperties and use the fontproperties parameter to specify the use of the font in the drawing. In this way, we can also display Chinese characters normally.
Method 3: Use icons to display Chinese characters
Sometimes, you only need to display Chinese characters in specific locations such as legends and labels instead of global settings. We can solve the problem of garbled characters by specifying fonts at specific locations. For example, to use Chinese characters in the legend, you can use the fontproperties parameter.
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()
Through the above code, we used the Chinese character "curve" in the legend and specified the use of a custom font through the prop parameter. In this way, we can display Chinese characters correctly in specific positions.
To sum up, we can solve the Matplotlib Chinese garbled problem by setting the default font, using custom font files, and specifying fonts in specific locations. Choosing the appropriate method can better display Chinese characters in data visualization.
The above is the detailed content of Share methods to solve matplotlib Chinese character display problems. For more information, please follow other related articles on the PHP Chinese website!