解决 Python 3中,Matplotlib绘图显示方块问题(排雷)

@[By 爱吃肉的小吃货]

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

得到的图像如下,出现的方块问题
解决 Python 3中,Matplotlib绘图显示方块问题(排雷)_第1张图片

产生原因:

字体的默认设置中并没有中文字体

解决办法

只需要在开头手动添加中文字体的名称(两行代码)即可

#解决matplotlib绘图中文显示问题
plt.rcParams['font.sans-serif'] = ['SimHei']
# plt.rcParams['font.sans-serif'] = ['KaiTi']   # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False   # 解决保存图像是负号'-'显示为方块的问题

解决 Python 3中,Matplotlib绘图显示方块问题(排雷)_第2张图片
顺利解决问题!

你可能感兴趣的:(Debug,Matplotlib,python,matplotlib,乱码,bug)