husky66 2020-09-13 07:24 采纳率: 33.3%
浏览 135
已采纳

python字体显示问题?

from matplotlib import pyplot as plt
from matplotlib import font_manager


x = ('碳酸饮料', '绿茶', '矿泉水', '果汁', '其他')
y = [6, 7, 6, 1, 2]
fonts = font_manager.FontProperties(fname="C:\Windows\Fonts\simkai.ttf")
plt.figure(figsize=(15, 7), dpi=80)

plt.barh(range(len(x)), y, color="r", height=0.2)
plt.yticks(range(len(x)), x, fontproperties=fonts)
plt.xticks(range(9))

plt.show()

图片说明
为什么图片纵坐标显示字体不全?

  • 写回答

2条回答 默认 最新

  • jingluan666 2020-09-13 08:47
    关注

    试下下面的方法

    from matplotlib import pyplot as plt
    
    plt.rcParams['font.sans-serif']=['KaiTi'] 
    plt.rcParams['axes.unicode_minus']=False   
    
    x = ('碳酸饮料', '绿茶', '矿泉水', '果汁', '其他')
    y = [6, 7, 6, 1, 2]
    
    plt.figure(figsize=(15, 7), dpi=80)
    
    plt.barh(range(len(x)), y, color="r", height=0.2)
    plt.yticks(range(len(x)), x)
    plt.xticks(range(9))
    
    plt.show()
    
    

    或者

    from matplotlib import pyplot as plt
    
    x = ('碳酸饮料', '绿茶', '矿泉水', '果汁', '其他')
    y = [6, 7, 6, 1, 2]
    
    plt.figure(figsize=(15, 7), dpi=80)
    
    plt.barh(range(len(x)), y, color="r", height=0.2)
    yTuple=plt.yticks(range(len(x)), x)
    
    plt.xticks(range(9))
    
    yLabels = yTuple[1]
    [label.set_fontname('KaiTi') for label in yLabels]
    
    plt.show()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 DevEco studio开发工具 真机联调找不到手机设备
  • ¥15 请教前后端分离的问题
  • ¥100 冷钱包突然失效,急寻解决方案
  • ¥15 下载honeyd时报错 configure: error: you need to instal a more recent version of libdnet
  • ¥15 距离软磁铁一定距离的磁感应强度大小怎么求
  • ¥15 霍尔传感器hmc5883l的xyz轴输出和该点的磁感应强度大小的关系是什么
  • ¥15 vscode开发micropython,import模块出现异常
  • ¥20 Excel数据自动录入表单并提交
  • ¥30 silcavo仿真,30分钟,只需要代码
  • ¥15 FastReport 怎么实现打印后马上关闭打印预览窗口