Python Can';用seaborn绘制时间序列

Python Can';用seaborn绘制时间序列,python,pandas,seaborn,data-visualization,Python,Pandas,Seaborn,Data Visualization,我有一个数据集,它是一组不同时间标签的测量值,例如: 样品 t1 t2 ... 总氮 1. 0.2 0.4 ... 1.2 2. 0.1 2 ... 0.5 ... ... ... ... 8.2 当您拥有长格式数据时,Seaborn是最好的。因此,您应该融化数据,以便在seaborn中传递: sns.lineplot(data=df.melt('Sample'), x='variable', y='value') 我创建了一个随机样本,并对其进行了处理 数据: 为了直接使用sns.linep

我有一个数据集,它是一组不同时间标签的测量值,例如:

样品 t1 t2 ... 总氮 1. 0.2 0.4 ... 1.2 2. 0.1 2 ... 0.5 ... ... ... ... 8.2
当您拥有长格式数据时,Seaborn是最好的。因此,您应该融化数据,以便在seaborn中传递:

sns.lineplot(data=df.melt('Sample'), x='variable', y='value')

我创建了一个随机样本,并对其进行了处理

数据:

为了直接使用
sns.lineplot
,而不用手工计算标准误差,我对
df
进行了转换:

df_long = pd.melt(df, id_vars="sample", value_vars="t1 t2 t3 t4 t5 t6 t7".split())
df_long["sample"] = 1
df_long.head()
我还将
sample
设置为一个相同的值
1
,以便seaborn认为所有数据都来自同一个池

然后,直接绘制:

sns.lineplot(data=df_long, x="variable", y="value", hue="sample")
你会得到这样的结果:

如果这是一个熊猫数据帧,
x
df['t1']
或其他什么。。。您首先必须计算stdev/error。。。你能发布一些代码以便复制吗?@DervinThunk你实际上没有。这就是seaborn的全部要点。可能会有帮助。。。
sns.lineplot(data=df_long, x="variable", y="value", hue="sample")