没有合适的资源?快使用搜索试试~ 我知道了~
首页Python读取excel数据且横轴是日期的图像绘制
Python的matplotlib包含很多图表函数,其中plot()函数是绘制坐标图的。 通常情况下,横轴和纵轴都是数值型数据很好画图,直接带入数据,坐标轴会自动调节大小和显示密度。但是当横轴是日期时,且从excel文件读取数据时,有一点麻烦。 遇到的问题: 1. 首先,excel里的日期显示不正常。 2. 横轴日期的显示不理想,或太密集或太松弛。 解决: 1. 方法一:修改excel数据类型 excel里的日期型数据,用python读取出来是这样的: 坐标轴的显示肯定也是有问题的。 该方法就是修改excel数据类型。将日期类型数据修改为文本类型,一定要在数据前面加单引号,这样读取出来的数据
资源详情
资源评论
资源推荐

Python读取读取excel数据且横轴是日期的图像绘制数据且横轴是日期的图像绘制
Python的matplotlib包含很多图表函数,其中plot()函数是绘制坐标图的。
通常情况下,横轴和纵轴都是数值型数据很好画图,直接带入数据,坐标轴会自动调节大小和显示密度。但是当横轴是日期时,且从excel文件读取数据时,有一点麻烦。
遇到的问题:遇到的问题:
1. 首先,excel里的日期显示不正常。
2. 横轴日期的显示不理想,或太密集或太松弛。
解决:解决:
1. 方法一:修改方法一:修改excel数据类型数据类型
excel里的日期型数据,用python读取出来是这样的:
坐标轴的显示肯定也是有问题的。
该方法就是修改excel数据类型。将日期类型数据修改为文本类型,一定要在数据前面加单引号,这样读取出来的数据才会是str类型:
完整代码:
import matplotlib as mpl
import matplotlib.pyplot as plt
import datetime
import matplotlib.dates as mdates
from xlrd import open_workbook
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei'] #解决中文不显示问题
#定义横轴和纵轴数据列表
x_data=[] y_data=[]
#打开excel文件
wb = open_workbook('data.xlsx')
#读取excel数据,并放入列表中
for s in wb.sheets():
for row in range(s.nrows): #读取表里的每行index
#print('the row is:',row)
values = [] #每一行循环前都初始化values为空,所以values只是一行的值,并不包含所有行列
for col in range(s.ncols): #读取该行中的每列index
values.append(s.cell(row,col).value) #将该行中每列数据加入values列表
x_data.append(values[2])
y_data.append(values[3])
#Excel表格里的数据必须是str类型,将str类型转换为date类型。该方法画出的图横坐标不是等间距的,日期一般取整显示,如10.31日就会显示11.01日
xs = [datetime.datetime.strptime(d, '%Y-%m-%d').date() for d in x_data] plt.plot_date(xs, y_data, linestyle = '-', marker = ',')
#设置标注信息
plt.title(u"每日数据量") #图片顶部名称
plt.xlabel("日期") #横坐标名称
plt.ylabel("数据") #纵坐标名称
plt.gcf().autofmt_xdate() #自动旋转日期标记
plt.show()
图像结果:


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0