2016-09-19 5 views
1

ich einen Datenrahmen amounts_month eines solchen Typs genannt haben:Seaborn tsplot zeigt nichts

product accounting_month amount 
0 A  201404    204748.0 
1 A  201405    445064.0 
2 B  201404    649326.0 
3 B  201405    876738.0 
4 C  201404    1046336.0 

Aber wenn ich bewerten

import seaborn as sns 
import matplotlib.pyplot as plt 

sns.tsplot(data=amounts_month, 
      time='accounting_month', 
      value='amount', 
      condition='product' 
     ) 

ich ein leeres Grundstück. Was ist falsch an meinem Code?

Antwort

3

Sie können versuchen, C

product accounting_month amount 
A  201404   204748.0 
A  201405   445064.0 
B  201404   649326.0 
B  201405   876738.0 
C  201404   1046336.0 
C  201405   1046336.0 

dann versuchen, den folgenden Code ein mehr Daten für das Produkt hinzufügen:

import seaborn as sns 
import matplotlib as mpl 
#change the `accounting_month` to datatime 
amounts_month['accounting_month']= pd.to_datetime(amounts_month['accounting_month'], format="%Y%m") 

fig, ax = plt.subplots() 
sns.tsplot(data=amounts_month, 
      time='accounting_month', 
      value='amount', 
      unit='product', # add a unit 
      condition='product', 
      ax=ax) 
def myFormatter(x, pos): 
    return pd.to_datetime(x) 

# assign locator and formatter for the xaxis ticks. 
ax.xaxis.set_major_formatter(mpl.ticker.FuncFormatter(myFormatter)) 

# put the labels at 45deg since they tend to be too long 
fig.autofmt_xdate() 
plt.show() 

Ergebnis:

enter image description here

+0

Also, was das Problem hier war ? Dass eine der Zeitreihen nur eine Messung hatte? Ich stehe vor einem ähnlichen Problem und ich bin sicher, dass alle meine Serien mehr als eine Messung haben. –