我正在尝试使用seaborn制作一个简单的tsplot,但是由于我不清楚的原因,当我运行代码时什么都没显示.这是一个最小的示例:
import numpy as np
import seaborn as sns
import pandas as pd
df = pd.DataFrame({'value': np.random.rand(31), 'time': range(31)})
ax = sns.tsplot(data=df, value='value', time='time')
sns.plt.show()
通常,tsplot会为每个时间点提供多个数据点,但是如果仅提供一个数据点,它是否不起作用?
我知道可以使用matplotlib轻松完成此操作,但是我想将seaborn用于其某些其他功能.
解决方法:
您缺少单个单位.使用数据帧时,其想法是已记录了同一单位的多个时间序列,这些时间序列可以在数据帧中单独标识.然后根据不同的单位计算误差.
因此,仅对于一个系列,您可以像下面这样再次使用它:
df = pd.DataFrame({'value': np.random.rand(31), 'time': range(31)})
df['subject'] = 0
sns.tsplot(data=df, value='value', time='time', unit='subject')
仅查看错误的计算方式,请看以下示例:
dfs = []
for i in range(10):
df = pd.DataFrame({'value': np.random.rand(31), 'time': range(31)})
df['subject'] = i
dfs.append(df)
all_dfs = pd.concat(dfs)
sns.tsplot(data=all_dfs, value='value', time='time', unit='subject')