• matplotlib显示中文异常处理


    matplotlib显示中文

    【做个记录,方便以后使用】

    【一般导入方式】

    import matplotlib.pyplot as plt
    
    

    【效果图】

    【方式一】FontProperties

    import matplotlib.pyplot as plt
    from matplotlib.font_manager import FontProperties  # 步骤一
     
    # ...
     
    font = FontProperties(fname=r"c:windowsfontssimsun.ttc", size=14)  # 步骤二
    plt.xlabel("x轴", fontproperties=font) # 步骤三
    plt.ylabel("y轴", fontproperties=font)
    plt.title("标题", fontproperties=font)
    plt.show()
    

    【方式二】 fontproperties

    import matplotlib.pyplot as plt
    
    # ...
    
    plt.xlabel("x轴") 
    plt.ylabel("y轴", fontproperties="SimSun") # 步骤一    (宋体)
    plt.title("标题", fontproperties="SimHei") #          (黑体)
    plt.show()
    

    灵活,另一个优点:不污染全局字体设置

    【方式三】rcParams

    import matplotlib.pyplot as plt
    
    plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)
    plt.rcParams['axes.unicode_minus'] = False   # 步骤二(解决坐标轴负数的负号显示问题)
    #...
    
    plt.xlabel("x轴")
    plt.ylabel("y轴")
    plt.title("标题")
    plt.show()
    
    

    简洁的用法。缺点:污染全局字体设置。(所以需要第二步骤)

    【方式四】rc

    import matplotlib.pyplot as plt
    
    font = {'family' : 'SimHei',
            'weight' : 'bold',
            'size'   : '16'}
    plt.rc('font', **font)               # 步骤一(设置字体的更多属性)
    plt.rc('axes', unicode_minus=False)  # 步骤二(解决坐标轴负数的负号显示问题)
    
    #...
    
    plt.xlabel("x轴")
    plt.ylabel("y轴")
    plt.title("标题")
    plt.show()
    

    灵活的用法。缺点:影响全局字体(所以需要第二步骤)

    【总结】
    方式二用时才设置,且不会污染全局字体设置,更灵活

    方式三、方式四不需要对字体路径硬编码,而且一次设置,多次使用,更方便。

    【附录】
    一些中文字体的英文名

    宋体 SimSun
    黑体 SimHei
    微软雅黑 Microsoft YaHei
    微软正黑体 Microsoft JhengHei
    新宋体 NSimSun
    新细明体 PMingLiU
    细明体 MingLiU
    标楷体 DFKai-SB
    仿宋 FangSong
    楷体 KaiTi
    隶书:LiSu
    幼圆:YouYuan
    华文细黑:STXihei
    华文楷体:STKaiti
    华文宋体:STSong
    华文中宋:STZhongsong
    华文仿宋:STFangsong
    方正舒体:FZShuTi
    方正姚体:FZYaoti
    华文彩云:STCaiyun
    华文琥珀:STHupo
    华文隶书:STLiti
    华文行楷:STXingkai
    华文新魏:STXinwei

  • 相关阅读:
    windows如何查看删除记录
    nodejs 服务器 崩溃 2种解决办法
    WINDOWS常用端口列表
    windows端口
    普通交换机不需要任何设置,也不能设置
    二层网管交换机应用——访问控制功能管理内网电脑上网行为
    使用 Easy Sysprep v4(ES4) 封装 Windows 7教程
    A电脑的gho还原到B电脑上的驱动解决方案
    servlet 容器与servlet
    依赖注入与控制反转
  • 原文地址:https://www.cnblogs.com/huangguifeng/p/10302010.html
Copyright © 2020-2023  润新知