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


如图所示,
绘图
曲线可能位于图中完全不同的位置,这取决于数据帧的索引。

这将有助于获得可用的曲线。您是否检查了红点是否位于蓝色区域的后面?如果是这样,你可以改变他们的想法。