简单易行的matplotlib中英文混排(设置中文为宋体,英文为times new roman)

先看效果:

  • 普通混排
    简单易行的matplotlib中英文混排(设置中文为宋体,英文为times new roman)_第1张图片
  • 支持tex文本的混排:
    简单易行的matplotlib中英文混排(设置中文为宋体,英文为times new roman)_第2张图片

以下是代码:

  • 普通混排

    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()
    

你可能感兴趣的:(#,数据可视化,matplotlib,python)