matplotlib显示中文字体

此篇博客展示了如何通过Matplotlib库,分别分析需求不变、需求上升和需求下降三种情况下数据分布。通过bar图清晰地呈现了不同需求变化对XXX指标的影响,使用中文字体和自定义字体确保了图表的可读性。
摘要由CSDN通过智能技术生成
import matplotlib.pyplot as plt  
from matplotlib import rcParams
from matplotlib.font_manager import FontProperties

# 设置matplotlib正常显示中文和负号
rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
rcParams['axes.unicode_minus']=False     # 正常显示负号


font1 = FontProperties(fname=r"c:\windows\fonts\simsun.ttc")


name_list = ['(0,1)', '(0,2)', '(0,3)', '(1,2)', '(1,3)','(1,4)', '(2,3)', '(2,4)', '(3,4)', '(3,5)', '(4,5)', '(3,0)', '(4,0)', '(5,0)']  
num_list = [38,171,14,0,22,27,17,0,11,33,80,0,13,42]  
num_list120 = [39,23,21,21,45,42,15,13,20,32,5,0,18,63]  
num_list80 = [26,17,70,0,94,72,17,0,19,32,617,0,17,99]
x =list(range(len(num_list)))  
total_width, n = 1, 4.5  
width = total_width / n  

plt.figure(figsize=(10,6))
plt.bar(x, num_list, width=width, label='需求不变',fc = 'royalblue')  

for i in range(len(x)):  
    x[i] = x[i] - width  
plt.bar(x, num_list120, width=width, label='需求上升',fc='darkblue')  

for i in range(len(x)):  
    x[i] = x[i] + 2*width  
plt.bar(x, num_list80, width=width, label='需求下降',fc = 'lightskyblue')  


plt.ylabel('XXX',fontproperties=font1, fontsize = 16)
plt.xlabel('XXX' ,fontproperties=font1,fontsize =16)
plt.xticks([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],name_list,rotation=45, fontsize = 8,fontproperties=font1)
plt.yticks(fontproperties=font1,fontsize = 8)
plt.legend(prop=font1, fontsize = 10)
plt.savefig('XXX',dpi=500, bbox_inches = 'tight')
plt.show()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值