import seaborn as sns
import matplotlib.pyplot as plt
sns.tsplot(data = df_month, time = 'month', value = 'pm_local');
plt.show()
使用此代码我得到这个空白图,我推测是因为y轴的比例。我不知道为什么会这样,这是我的数据帧的前5行(由12行组成 - 每个月1行):
我该如何解决这个问题?
答案 0 :(得分:2)
我认为问题与字段unit
有关。在数据传递为DataFrame
的情况下,该函数期望一个单位指示数据所属的主题。这个函数行为对我来说并不明显,但请看这个例子。
# Test Data
df = pd.DataFrame({'month': [1, 2, 3, 4, 5, 6],
'value': [11.5, 9.7, 12, 8, 4, 12.3]})
# Added a custom unit with a value = 1
sns.tsplot(data=df, value='value', unit=[1]*len(df), time='month')
plt.show()
您还可以使用提取Series
并绘制它。
sns.tsplot(data=df.set_index('month')['value'])
plt.show()
答案 1 :(得分:0)
我有同样的问题。在我的情况下,这是由于数据不完整,因此每个时间点至少有一个缺失值,导致默认估算器为每个时间点返回NaN。
由于您只显示数据的前5条记录,因此我们无法判断您的数据是否存在同样的问题。您可以查看以下修复是否有效:
from scipy import stats
sns.tsplot(data = df_month, time = 'month',
value = 'pm_local',
estimator = stats.nanmean);