通过xlrd模块读取.xls文件,数据如下,总计162行16列:
读取与作图如下:
- from xlrd import open_workbook
- import matplotlib
- import matplotlib.pyplot as plt
- # 设置字体为微软雅黑,解决中文显示问题
-
- matplotlib.rc("font", family='Microsoft YaHei')
-
- datafilepath='C:\\Users\\yh\\Documents\\python file\\F1-18.xlsx'
- # 打开 excel 文件
- xlsx = open_workbook(datafilepath)
- # 通过索引获取第 1 个表格中的内容,一个 excel 文件可能会包含多个表格
- sheet = xlsx.sheet_by_index(1)
-
- # 通过索引获取表格中第 1 行的内容
- #row1 = sheet.row_values(0)
-
- data_2k=[]
- data_4k=[]
- data_6k=[]
-
-
- for i in range(18):
- temp_2k=[]
- temp_4k=[]
- temp_6k=[]
- for j in range(16):
- temp_2k.append((sheet.row_values(9*i)[j] +sheet.row_values(9*i+1)[j]+sheet.row_values(9*i+2)[j])/3)
- temp_4k.append((sheet.row_values(9*i+3)[j] +sheet.row_values(9*i+4)[j]+sheet.row_values(9*i+5)[j])/3.0)
- temp_6k.append((sheet.row_values(9*i+6)[j] +sheet.row_values(9*i+7)[j]+sheet.row_values(9*i+8)[j])/3.0)
- data_2k.append(temp_2k)
- data_4k.append(temp_4k)
- data_6k.append(temp_6k)
- # 2.画线plot()
- # 索引列表
- seq=[]
- for i in range(16):
- seq.append(i*0.02+0.02)
- plt.xticks(seq)
-
- for i in data_2k:
- plt.plot(seq,i,linewidth=2) # 列表内的数据被视为y轴的值,x轴的值会根据列表值的索引位置自动产生
-
-
- plt.title(label='2000孔后的外径', fontsize=18)
- plt.xlabel(xlabel='到钻尖的距离(mm)', fontsize=15)
- plt.ylabel(ylabel='外径(mm)', fontsize=15)
-
-
- plt.tick_params(axis='both', labelsize=8, color='red', labelcolor='green')
-
- # 显示绘制的图形
- plt.show()