{/'title/':/'用python完成以下需求,请示例代码://nimport os,shutil,traceback,sys,glob//nimport time,getpass//nimport numpy as np//nimport pandas as pd//nimport matplotlib.pyplot as plt//nimport xlsxwriter//nfrom openpyxl import load_workbook//nusername = getpass.getuser()//ntry://n # x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) #柱形图折线图的数量//n # y1 = np.array([0,180,160,140,150,130,140,140,130]) #折线图的数据//n # y2 = np.array([87600,87420,87260,87120,86970,86840,86700,86560,86430,80000]) #柱形图的数据//n # plt.rcParams['font.sans-serif'] = ['KaiTi']//n # plt.rcParams['axes.unicode_minus'] = False//n # fig = plt.figure()//n # plt.figure(figsize=(8, 6)) #绘图区域//n # plt.xlim(0, 10) #x轴坐标轴//n # plt.ylim(0, 100000) #y轴坐标轴//n # plt.xticks(np.arange(10), [/'0/', /'20/', /'40/', /'60/', /'80/', /'100/', /'120/', /'140/', /'160/',/'180/'])//n # plt.yticks(np.arange(10), [/'0/',/'1000/', /'2000/', /'3000/', /'4000/', /'5000/', /'6000/', /'7000/', /'8000/',/'9000/'])//n # plt.xlabel(/'Variation/', labelpad=10, fontsize='xx-large', color='#70AD47', fontweight='bold') #x轴标签//n # plt.ylabel(/'capacity/', labelpad=10, fontsize='xx-large', color='#70AD47', fontweight='bold') #y轴标签//n # plt.grid(b=True, linestyle=/'dashed/', linewidth=1)//n # plt.title(label=/'1/', loc=/'center/') #标题名称//n # for a, b in zip(x, y1)://n # plt.text(a, b, b, ha='center', va='bottom', fontsize=11)//n # for a, b in zip(x, y2)://n # plt.text(a, b, b, ha='center', va='bottom', fontsize=11)//n # plt.plot(x, y1, color=/'k/', linestyle=/'solid/', linewidth=1,//n # marker=/'o/', markersize=3, label='折线图') #第一个label,设置 label 和 legend 的目的就是为了区分出每个数据对应的图形名称//n # plt.bar(x, y2, color=/'k/', label='柱形图') #第二个label,柱形图//n # plt.legend(loc=/'upper left/') #图列位置,可选best,center等//n # plt.legend(ncol=2)//n # plt.annotate(/'服务器宕机了/', xy=(6, 1605), xytext=(7, 1605), arrowprops=dict(facecolor='black', arrowstyle='->'))//n # plt.show()//n import numpy as np//n import pandas as pd//n import matplotlib.pyplot as plt//n data = pd.read_csv(r/'C://Users//Una//Desktop//BatteryMonitor1_modified.csv/')//n variation = data[/'Variation/']//n capacity = data[/'capacity/']//n x = np.array(range(1, len(variation) + 1))//n y1 = np.array(variation)//n y2 = np.array(capacity)//n plt.rcParams['font.sans-serif'] = ['KaiTi']//n plt.rcParams['axes.unicode_minus'] = False//n fig = plt.figure()//n plt.figure(figsize=(8, 6))//n plt.xlim(0, len(variation) + 1)//n plt.ylim(0, max(capacity) + 100)//n plt.xticks(x, data.columns[1:])//n plt.yticks(np.arange(1000, max(capacity), 1000), [/'1000人/', /'2000人/', /'3000人/', /'4000人/', /'5000人/', /'6000人/'])//n plt.xlabel(/'月份/', labelpad=10, fontsize='xx-large', color='#70AD47', fontweight='bold')//n plt.ylabel(/'注册人数/', labelpad=10, fontsize='xx-large', color='#70AD47', fontweight='bold')//n plt.grid(b=True, linestyle=/'dashed/', linewidth=1)//n plt.title(label=/'1-9月python爱好者社区注册与激活用户数/', loc=/'center/')//n for a, b in zip(x, y1)://n plt.text(a, b, b, ha='center', va='bottom', fontsize=11)//n for a, b in zip(x, y2)://n plt.text(a, b, b, ha='center', va='bottom', fontsize=11)//n plt.plot(x, y1, color=/'k/', linestyle=/'solid/', linewidth=1,//n marker=/'o/', markersize=3, label='折线图')//n plt.bar(x, y2, color=/'k/', width=0.4, align='center', label='簇状柱形图')//n plt.legend(loc=/'upper left/')//n plt.legend(ncol=2)//n plt.annotate(/'服务器宕机了/', xy=(6, 1605), xytext=(7, 1605), arrowprops=dict(facecolor='black', arrowstyle='->'))//n plt.show()//n//n//n//n//n//nexcept Exception as e://n traceback.print_exc(file=open(r'C://bug.txt', 'a+'))//n//n报错Traceback (most recent call last)://n File /'D://python//pycharm//lianxidaima//venv//lib//site-packages//pandas//core//indexes//base.py/', line 3361, in get_loc//n return self._engine.get_loc(casted_key)//n File /'pandas/_libs//index.pyx/', line 76, in pandas._libs.index.IndexEngine.get_loc//n File /'pandas/_libs//index.pyx/', line 108, in pandas._libs.index.IndexEngine.get_loc//n File /'pandas/_libs//hashtable_class_helper.pxi/', line 5198, in pandas._libs.hashtable.PyObjectHashTable.get_item//n File /'pandas/_libs//hashtable_class_helper.pxi/', line 5206, in pandas._libs.hashtable.PyObjectHashTable.get_item//nKeyError: '月份'//n//nThe above exception was the direct cause of the following exception://n//nTraceback (most recent call last)://n File /'D://python//pycharm//lianxidaima//KS//running//12345.py/', line 51, in //n plt.xticks(x, data[/'月份/'])//n File /'D://python//pycharm//lianxidaima//venv//lib//site-packages//pandas//core//frame.py/', line 3458, in getitem//n indexer = self.columns.get_loc(key)//n File /'D://python//pycharm//lianxidaima//venv//lib//site-packages//pandas//core//indexes//base.py/', line 3363, in get_loc//n raise KeyError(key) from err//nKeyError: '月份',请修改//n内容:根据报错信息,'月份'列在数据中不存在,因此需要修改代码。请使用以下代码替换原有的plt.xticks()函数部分://n//npython//nplt.xticks(x, data.columns[1:])//n//n//n这将使用数据的第一行作为 x 轴刻度。

Python 绘制柱状图和折线图:解决 KeyError: '月份' 报错

原文地址: https://www.cveoy.top/t/topic/gpcM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录