2016-12-27 8 views
0

enter image description hereSeabornのtsplot - Y軸のスケールこのコードを使用

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行で構成されています)がここにあるか分からない:どのように私はこれを修正することができますか?

+2

[完全な例](https://stackoverflow.com/help/mcve)にコードを編集できますか? –

答えて

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

0

私はこれと同じ問題がありました。私の場合は、不完全なデータが原因で、毎回のポイントに少なくとも1つの欠損値があり、デフォルトの推定値が毎回NaNを返すようになっていました。

データの最初の5レコードしか表示していないため、データに同じ問題があるかどうかはわかりません。次の修正が有効かどうかを確認できます。

from scipy import stats 

sns.tsplot(data = df_month, time = 'month', 
      value = 'pm_local', 
      estimator = stats.nanmean); 
関連する問題