Seaborn tsplot - y轴刻度

时间:2016-12-27 07:18:34

标签: python pandas matplotlib seaborn

enter image description here

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行): enter image description here

我该如何解决这个问题?

2 个答案:

答案 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()

enter image description here

答案 1 :(得分:0)

我有同样的问题。在我的情况下,这是由于数据不完整,因此每个时间点至少有一个缺失值,导致默认估算器为每个时间点返回NaN。

由于您只显示数据的前5条记录,因此我们无法判断您的数据是否存在同样的问题。您可以查看以下修复是否有效:

from scipy import stats

sns.tsplot(data = df_month, time = 'month',
           value = 'pm_local',
           estimator = stats.nanmean);