解决Python3中Matplotlib绘图显示方块的问题
作者:Bolero_L
这篇文章主要介绍了解决Python3中Matplotlib绘图显示方块的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
解决Matplotlib绘图出现方块问题
正常情况下,是不会出现无法显示中文的,从而导致原来中文部分由方块代替的。
# 连续性和离散型分析 # 获取列名 # col_name = train_data.drop(['Quality_label'],1).columns col_name = train_data.columns Notdlts_count = [] for i in col_name: # 计算非重复值的个数 drop_duplicates:去除重复值 Notdlts = len(train_data[i].drop_duplicates())/6000 Notdlts_count.append(Notdlts) plt.plot(col_name, Notdlts_count, c='r') plt.title('非重复值的总数计算') # 标题 plt.xlabel('列名') # x轴 的轴名 plt.ylabel('非重复数据在全数据上的占比') # y轴 的轴名 plt.xticks(rotation=90) # 旋转 x轴的刻度名 plt.show()
得到的图像如下,出现的方块问题
产生原因
字体的默认设置中并没有中文字体
解决办法
只需要在开头手动添加中文字体的名称(两行代码)即可
#解决matplotlib绘图中文显示问题 plt.rcParams['font.sans-serif'] = ['SimHei'] # plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体 plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
总结
顺利解决问题!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。