2016-11-17 10 views
0

ループに挿入できるコードをまとめ、折れ線グラフをプロットし、各列の値のトレースを追加しますデータフレーム 私はしばらくこのことに苦労してきました。私は、プロットの図やレイアウトオブジェクトのキーをどのように呼び出すべきかを理解することはできません。私が手ループを介してトレースが追加されたグラフをプロットする際に 'figure_or_data'引数が無効です - プロット

import pandas as pd 
import plotly.plotly as py 
from plotly import tools, utils 
from plotly.graph_objs import * 


d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']), 
'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd']), 
'three' : pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd','e'])} 
df = pd.DataFrame(d) 

print(df.head()) 

data = [] 

for column in df: 

    trace = Scatter(
    x = df.index, 
    y = df[column], 
    mode = 'lines', 
    line = Line(
     color='#FFD700', 
     width=1 
     ), 
    name = column 
    ) 
    data.append([trace]) 


layout = dict(
    title= 'Room Ambient Temperatures (with range slider and selectors)', 

    yaxis=dict(
     range=[20,30], 
     showgrid=True, 
     zeroline=True, 
     showline=False, 
    ), 

) 
fig = dict(data=data, layout=layout) #fig = Figure(data=data, layout=layout)  

chart_url = py.plot(fig, filename = 'test/_T_Line_Chart', auto_open=False) 

エラーは次のとおりです。

Invalid entry found in 'data' at index, '0' 
Path To Error: ['data'][0] 
Valid items for 'data' at path ['data'] under parents ['figure']: 
    ['Contour', 'Box', 'Scatter3d', 'Bar', 'Mesh3d', 'Histogram', 'Surface', 
    'Pie', 'Histogram2d', 'Scattergeo', 'Scattergl', 'Scattermapbox', 
    'Scatterternary', 'Candlestick', 'Ohlc', 'Scatter', 'Area', 
    'Histogram2dcontour', 'Choropleth', 'Heatmap', 'Pointcloud'] 
Entry should subclass dict. 

任意のアイデアなぜですか?

答えて

1

data.append([trace])data.append(trace)と置き換えてください。あなたが今渡して終わり何

[[trace1],[trace2],...[trace_n]]代わりの


サイトのノート[trace1, trace2,...,trace_n]です:あなたはあまりにもcufflinksで見たいと思うかもしれません。これは非常に簡単になります:

import cufflinks as cf 

df.iplot(layout=layout) 
+0

また、現在のダミーの例では、yaxisの 'range = [20,30]'は適切ではありません;) –

関連する問題