3
プログラミングに慣れていないので、解決策を探すのに多くの時間を費やしていますが、 私はいくつかの測定データセットを辞書に保存しています。私は、測定データからのすべての曲線が表示されるグラフをプロットして作成したいと考えています。私は空のグラフを作成し、辞書を反復し、2つの格納されたdataFramesの2つの列を各キーのグラフにトレースとして追加しようとしています。PythonとPlotly offline:グラフを作成(空)し、forループでトレースを追加する
私は間違っていますか、どうすれば他の方法で対応できますか?私がこれまで持っているコードで
import plotly as py
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import plotly.graph_objs as go
figure1 = go.Figure()
for key in dictofdf:
trace1 = go.Scatter(
y=df_1['force'],
x=df_1['displacement'],
mode='line',
marker=go.Marker(color='rgb(255, 127, 14)'),
name='load'
)
trace2 = go.Scatter(
y=df_2['force'],
x=df_2['displacement'],
mode='line',
marker=go.Marker(color='rgb(55, 137, 3)'),
name='unload'
)
figure1.append_trace(trace1,1,1)
figure1.append_trace(trace2,1,1)
py.offline.iplot(figure1, filename='force-displacement-data', image='jpeg')
、私はエラーPlotlyで
--------------------------------------------------------------------------- TypeError Traceback (most recent call
last) <ipython-input-42-4ea5d9b8a638> in <module>()
50 )
51
---> 52 figure1.append_trace(trace1,1,1)
53 figure1.append_trace(trace2,1,1)
54
C:\Users\xxxxx\Anaconda3\lib\site-packages\plotly\graph_objs\graph_objs.py
in append_trace(self, trace, row, col)
914 "Note: the starting cell is (1, 1)")
915 try:
--> 916 ref = grid_ref[row-1][col-1]
917 except IndexError:
918 raise Exception("The (row, col) pair sent is out of range. "
TypeError: 'NoneType' object is not subscriptable
あなたの答えをありがとう!私はそれが陰謀でうまくいかない場合、このプロットを作るために他の可能性を探します。あなたが親切に提案したコードを試してみると、次のようなエラーが出ます: '... ---> 37 y = dictofdf [key] [['df_1'] ['force']]、 38 x = dictofdf [39 mode = 'line'、 TypeError:リストインデックスは、strでない整数またはスライスでなければなりません。 – MGS
投稿コードをもう一度試してみてください。うまくいくはずです。あなたのスニペットに二重括弧があります。辞書/リストを正しくスライスしていることを確認してください。 –
Hm、ok ...エラーメッセージが表示されたら、二重括弧を挿入して、それが役立つかどうかを確認しました。ここにコードを投稿する前に、それらを削除するのを忘れてしまった。 – MGS