添加未来日期以绘制趋势线

彼得·德夫林

我有一些使用matplotlib绘制的csv数据。我还在数据上方放置了一条趋势线(线性拟合)。我想扩展日期范围,以便我的趋势线可以预测未来6个月的数据。

我整天都在敲键盘。

CSV数据是

Date,Cash Bucks
29/07/2015,4010.14
22/08/2015,4471.09
26/08/2015,4685.6

我得到的无法预测未来的代码是

import csv
from datetime import datetime, timedelta
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd

filename = "statistics.csv"
f=open(filename, "rb")
reader = csv.reader(f)
headers = reader.next()

converters = [str.strip] + [float] * (len(headers) - 1) # get numeric values into floats

column = {}
for h in headers:
    column[h] = []

for row in reader:
    for h, v, conv in zip(headers, row, converters):
      column[h].append(conv(v))

dates_list = [datetime.strptime(date, '%d/%m/%Y').date() for date in column['Date']]

f.close()

date_start = dates_list[0]
date_end = dates_list[-1] + timedelta(3*365/12)
# dates_list.append(date_end)

print dates_list
x1 = dates_list
x2 = mdates.date2num(x1)
y1 = column['Cash Bucks']

z=np.polyfit(x2,y1,1)
p=np.poly1d(z)

# Plot
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1, axisbg='white')


# Plot actual data
plt.plot_date(x=x1, y=y1, fmt='o-')
plt.plot(x1,p(x2),'r--') #add trendline to plot

plt.title('Cash Bucks')
plt.ylabel('Cash Bucks')
plt.xlabel('Date')
plt.show()

如何增加日期范围和趋势线图以查看未来?

Tmdavison

在绘制实际数据之后,需要将追加end_datex1,然后x2在绘制趋势线之前使用新的附加值进行重新制作

因此,脚本的结尾将如下所示:

# Plot
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1, axisbg='white')

# Plot actual data
plt.plot_date(x=x1, y=y1, fmt='o-')

# Now append the extra data
x1.append(date_end)
x2 = mdates.date2num(x1)

plt.plot(x1,p(x2),'r--') #add trendline to plot

plt.title('Cash Bucks')
plt.ylabel('Cash Bucks')
plt.xlabel('Date')

fig.autofmt_xdate() # This tidies up the x axis
plt.show()

我还fig.autofmt_xdate()为您添加了x轴标签

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

添加未来日期以绘制趋势线

来自分类Dev

将未来日期添加到DataFrame

来自分类Dev

未来日期SQL Developer

来自分类Dev

Searchkick:提高未来日期

来自分类Dev

在带有日期时间变量的散点图上绘制趋势线

来自分类Dev

nsmutablearray中的单独未来日期

来自分类Dev

带有未来日期的android通知

来自分类Dev

未来日期计算器

来自分类Dev

在Python中绘制趋势线

来自分类Dev

根据日期将项目添加到两个数组(未来日期和过去日期)中

来自分类Dev

将未来日期与当前日期比较

来自分类Dev

AngularJS表单自定义验证(未来日期)

来自分类Dev

PHP-选择时间与未来日期相同的数据

来自分类Dev

PHP-选择时间与未来日期相同的数据

来自分类Dev

如何获得3分钟的未来日期?

来自分类Dev

创建表格以计算未来日期的年龄(年)

来自分类Dev

获取历史汇率,并使用今天的汇率作为未来日期

来自分类Dev

JavaScript将未来日期设置为今天

来自分类Dev

Koyami 日历未正确显示未来日期

来自分类Dev

用于删除当前和未来日期的 SQL 查询?

来自分类Dev

Android动态创建的日历禁用未来日期

来自分类Dev

如何从堆积条形图中删除未来日期

来自分类Dev

如何找到今天和未来日期之间的天数?

来自分类Dev

如何在 bsdatePicker 中禁用未来日期

来自分类Dev

无法使用硒单击未来日期 xdsoft 控件

来自分类Dev

检查日期是当前日期还是未来日期,输入日期时间

来自分类Dev

EPPlus如何使用ExcelChartTrendline添加趋势线?

来自分类Dev

在引导日期选择器日历中禁用日期范围选择后的未来日期

来自分类Dev

如何以角度比较未来日期和当前日期?

Related 相关文章

热门标签

归档