通过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()