在与真实数据相同的图中绘制多项式回归

GTP*_*TPE 3 csv numpy matplotlib python-2.7

我有一些代码片段可以读取两个csv并使用matplotlib.pyplot绘制它们并在相同的两个csv上执行多项式回归.我想要做的是在同一图表上绘制数据和我的多项式回归.

import matplotlib.pyplot as plt
import csv
import numpy as np

datax=np.genfromtxt('Delta R.csv')
datay=np.genfromtxt('Example R.csv')


plt.title ('Test graph ')
plt.xlabel('x axis')
plt.ylabel('y axis ')

plt.plot(datax, datay,'o-')

plt.show()
Run Code Online (Sandbox Code Playgroud)

我的第二段代码只执行多项式回归

import matplotlib.pyplot as plt
import csv
import numpy as np

datax=np.genfromtxt('Delta R.csv')
datay=np.genfromtxt('Example R.csv')

z = np.polyfit(datax,datay,5) 

print z
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我在与原始数据相同的图中绘制这个5阶polynomail回归的结果.谢谢GTPE

编辑

tcaswell提供的代码完美无缺.我唯一的问题是为什么多项式在某些地方出现如此棱角分明.这是我的示例图片:

在此输入图像描述

tac*_*ell 6

plot再打电话:

datax=np.genfromtxt('Delta R.csv')
datay=np.genfromtxt('Example R.csv')

z = np.polyfit(datax,datay,5) 
p = np.poly1d(z)

plt.title ('Test graph ')
plt.xlabel('x axis')
plt.ylabel('y axis ')

plt.plot(datax, datay,'o-')
plt.plot(datax, p(datax), '-')

datax_os = np.linspace(np.min(datax), np.max(datax), 1024)
plt.plot(datax_os, f(datax_os)) # 'smoother' line

plt.show()
Run Code Online (Sandbox Code Playgroud)

plotnp.polyfit 文档中可以看到使用多个争论的替代方法.