绘制时在平均数据点上的Seaborn画线(不是线性线)

时间:2019-01-08 22:45:48

标签: python matplotlib seaborn

我试图使我的Python绘图更好。我用以下代码创建了Seaborn图:

df = pd.DataFrame(dict(times=times, wait=wait, triage=triage))

flatui = ["#3498db", "#2ecc71", "#3498db"]
sns.set_palette(flatui)
sns.lmplot('times', 'wait', data=df, fit_reg=False, height=10, x_estimator=np.mean, truncate=True)
plt.ylabel("Waiting time",fontsize='20')
plt.xlabel("Time at day (0-23)",fontsize='20')

使用x_estimator = np.mean绘制2200多个数据点。使用np.mean时,由于x轴是一天中的时间(0-23),所以只绘制了24点。

使用np.mean时,我还想在每个点上画一条线,有没有办法做到这一点?

代码产生的图如下:

enter image description here

1 个答案:

答案 0 :(得分:1)

您还可以使用matplotlib绘制平均值。假设您在名为mean_val的列表/数组中有24个平均值,则可以执行以下操作。它将简单地用一条线连接平均值(圆圈)。

ax = sns.lmplot('times', 'wait', data=df, fit_reg=False, height=10, x_estimator=np.mean, truncate=True)
ax.plot(range(len(mean_val)), mean_val, '-b')