我試圖取代For循環上Plotly Python的
fig.append_trace(trace1, 1, 1)
fig.append_trace(trace2, 2, 1)
在for循環代碼
totalPlot = 2
x = ['trace%s'%(item + 1) for item in range(totalPlot)]
y = [(item + 1) for item in range(totalPlot)]
z = totalPlot * [1]
for i, j, k in zip(x, y, z):
fig.append_trace(i, j, k)
,使其更具可擴展性,因爲我添加更多的數據。但是,循環代碼不斷返回'TypeError:'str'對象不支持項目分配'。我做錯了什麼?
這裏是一個從Plotly類似代碼:
from plotly import tools
import plotly.plotly as py
import plotly.graph_objs as go
trace1 = go.Scatter(
x=[1, 2, 3],
y=[4, 5, 6]
)
trace2 = go.Scatter(
x=[20, 30, 40],
y=[50, 60, 70],
)
fig = tools.make_subplots(rows=2, cols=1)
# ----- Loop here ------- START
fig.append_trace(trace1, 1, 1)
fig.append_trace(trace2, 2, 1)
# ----- Loop here ------- END
fig['layout'].update(height=600, width=600, title='i <3 subplots')
py.iplot(fig, filename='make-subplots')
究竟哪一行給你一個錯誤?當你試圖修改一個字符串對象(比如改變一個字符)時,錯誤「TypeError:'str'對象不支持項目賦值''。字符串是不可變的,所以你不能」改變「一個,但你可以做一個改變的副本。 –
@machine渴望:這一行給我的TypeError:'fig.append_trace(i,j,k)' – Fxs7576