Seaborn tsplot 不显示数据
Seaborn tsplot not showing data
我正在尝试使用 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 来实现它的一些其他功能。
您可以对 time
列中的 index
使用 set_index
,然后绘制 Series
:
df = pd.DataFrame({'value': np.random.rand(31), 'time': range(31)})
df = df.set_index('time')['value']
ax = sns.tsplot(data=df)
sns.plt.show()
您缺少个人 unit
。使用数据框时,想法是记录了相同 unit
的多个时间序列,这些时间序列可以在数据框中作为单独的标识符。然后根据不同的unit
s.
计算误差
所以对于一个系列来说,你可以像这样让它再次工作:
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')
我正在尝试使用 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 来实现它的一些其他功能。
您可以对 time
列中的 index
使用 set_index
,然后绘制 Series
:
df = pd.DataFrame({'value': np.random.rand(31), 'time': range(31)})
df = df.set_index('time')['value']
ax = sns.tsplot(data=df)
sns.plt.show()
您缺少个人 unit
。使用数据框时,想法是记录了相同 unit
的多个时间序列,这些时间序列可以在数据框中作为单独的标识符。然后根据不同的unit
s.
所以对于一个系列来说,你可以像这样让它再次工作:
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')