简单易行的matplotlib中英文混排(设置中文为宋体,英文为times new roman)
•
Python
先看效果:
- 普通混排

- 支持tex文本的混排:

以下是代码:
-
普通混排
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # 设置字体 plt.rcParams['font.family'] = ['SimSun', 'Times New Roman'] # 设置字体族,中文为SimSun,英文为Times New Roman plt.rcParams['mathtext.fontset'] = 'stix' # 设置数学公式字体为stix # 绘制图像 plt.plot([1, 2, 3, 4, 5], [1, 4, 9, 16, 25]) plt.title('这是一个中英文混排的标题') # 使用宋体字体显示中文标题 plt.xlabel('X轴') # 使用宋体字体显示中文X轴标签 plt.ylabel('Y轴') # 使用宋体字体显示中文Y轴标签 plt.show()或者明确指定字体ttc的路径:
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # 设置字体 font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14) # 设置中文字体为宋体 plt.rcParams['font.family'] = 'Times New Roman' # 设置英文字体为Times New Roman # 绘制图像 plt.plot([1, 2, 3, 4, 5], [1, 4, 9, 16, 25]) plt.title('这是一个中英文混排的标题', fontproperties=font) # 使用宋体字体显示中文标题 plt.xlabel('X轴', fontproperties=font) # 使用宋体字体显示中文X轴标签 plt.ylabel('Y轴', fontproperties=font) # 使用宋体字体显示中文Y轴标签 plt.show() -
支持tex的混排:
import matplotlib.pyplot as plt plt.rcParams['font.family'] = ['SimSun', 'Times New Roman'] # 设置字体族,中文为SimSun,英文为Times New Roman plt.rcParams['mathtext.fontset'] = 'stix' # 设置数学公式字体为stix # 以下为示例代码 x = [1, 2, 3, 4] y = [10, 20, 30, 40] plt.plot(x, y) plt.xlabel('横轴 (X)', fontsize=14) plt.ylabel(r'纵轴 ($\rm mg \cdot L^{-1}$)', fontsize=14) plt.title('Tex中英混排示例图', fontsize=16) plt.show()
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/94a18ed4e9.html
