Python中某些数据点未出现在PyPlot上
我试图绘制一张图表,显示Python中某些数据点未出现在PyPlot上,python,matplotlib,plot,Python,Matplotlib,Plot,我试图绘制一张图表,显示观测值数据点,以及相应的预测 然而,当我在绘图时,红色的观察点没有出现在我的绘图上;我不确定为什么 当我在另一行中运行以下命令时,它们确实会出现: fig = plt.figure(figsize = (20,6)) plt.plot(testY, 'r.', markersize=10, label=u'Observations') plt.plot(predictedY, 'b-', label=u'Prediction') 但我用来绘图的代码不允许它们显示: de
观测值
数据点,以及相应的预测
然而,当我在绘图时,红色的观察点没有出现在我的绘图上;我不确定为什么
当我在另一行中运行以下命令时,它们确实会出现:
fig = plt.figure(figsize = (20,6))
plt.plot(testY, 'r.', markersize=10, label=u'Observations')
plt.plot(predictedY, 'b-', label=u'Prediction')
但我用来绘图的代码不允许它们显示:
def plotGP(testY, predictedY, sigma):
fig = plt.figure(figsize = (20,6))
plt.plot(testY, 'r.', markersize=10, label=u'Observations')
plt.plot(predictedY, 'b-', label=u'Prediction')
x = range(len(testY))
plt.fill(np.concatenate([x, x[::-1]]), np.concatenate([predictedY - 1.9600 * sigma, (predictedY + 1.9600 * sigma)[::-1]]),
alpha=.5, fc='b', ec='None', label='95% confidence interval')
subset = results_dailyData['2010-01':'2010-12']
testY = subset['electricity-kWh']
predictedY = subset['predictedY']
sigma = subset['sigma']
plotGP(testY, predictedY, sigma)
我现在的图,红色的观察点没有出现。
在自己的行中运行绘图代码时的绘图。我希望这些点和蓝线出现在上图中:
您可能要考虑下面的例子,其中两个有和没有填充函数的情况被比较。
import matplotlib.pyplot as plt
import numpy as np; np.random.seed(0)
import pandas as pd
def plotGP(ax, testY, predictedY, sigma, showfill=False):
ax.set_title("Show fill {}".format(showfill))
ax.plot(testY, 'r.', markersize=10, label=u'Observations')
ax.plot(predictedY, 'b-', label=u'Prediction')
x = range(len(testY))
if showfill:
ax.fill(np.concatenate([x, x[::-1]]), np.concatenate([predictedY - 1.9600 * sigma, (predictedY + 1.9600 * sigma)[::-1]]),
alpha=.5, fc='b', ec='None', label='95% confidence interval')
x = np.linspace(-5,-2)
y = np.cumsum(np.random.normal(size=len(x)))
sigma = 2
df = pd.DataFrame({"y" : y}, index=x)
fig, (ax, ax2) =plt.subplots(2,1)
plotGP(ax,df.y, df.y, sigma, False)
plotGP(ax2, df.y, df.y, sigma, True)
plt.show()
如图所示,
绘图
曲线可能位于图中完全不同的位置,这取决于数据帧的索引。这将有助于获得可用的曲线。您是否检查了红点是否位于蓝色区域的后面?如果是这样,你可以改变他们的想法。