在使用Matplotlib画图的时候显示raise KeyError(key) from err提示,是否由于是中文字体原因?

  1. 现有12月和1月数据,想通过Matplotlib画图对比数据
  2. 错误提示: y_col_1 = df['12月'].to_numpy() raise KeyError(key) from err KeyError: '12月'

img

img

  1. 代码如下:
######导入Pandas读取EXCEL文件
import matplotlib
import pandas as pd
######导入可视化模块
import matplotlib.pyplot as plt

print(matplotlib.matplotlib_fname())


df = pd.read_excel("D:\工作\Anaconda3\Testresults1.xlsx", sheet_name="X渠道")

x_row = df.index.to_numpy()
y_col_1 = df['12月'].to_numpy()
y_col_2 = df['1月'].to_numpy()

fig, ax = plt.subplots()

xticks = list(range(12)) #自定义刻度
ax.set_xticks(xticks)

plt.title("X渠道", fontsize=12) #标题
plt.ylabel("月份") #纵坐标名字
plt.x1label("总数/单") #横坐标名字
plt.x2label("营收/元") #横坐标名字
plt.x3label("实际营收/元") #横坐标名字
plt.x4label("毛利/元") #横坐标名字
plt.grid(True,linestyle=':')

l1, = plt.plot(x_row, y_col_1)# 默认折线、实线
l2, = plt.plot(x_row, y_col_2, color="blue", linewidth=1.5, linestyle="-") # 蓝色,1.5宽,线段

ls = [l1,l2]
labels = ['12月','1月']
plt.legend(handles=ls,labels=labels,loc='best')
plt.show()

y_col_1 = df['12月'].to_numpy() 这边的 df['XXX'] 中的XXX只能是列的字段名,不能读取行,但可以使用如下代码来按条件读行:

y_col_1 = df.loc[df['月份'] == '12月'].to_numpy()[0]
y_col_2 = df.loc[df['月份'] == '1月'].to_numpy()[0]