Python 在笔记本中使用for循环时不显示任何内容

Python 在笔记本中使用for循环时不显示任何内容,python,for-loop,plot,plotly,Python,For Loop,Plot,Plotly,其目的是绘制并获得下图 下面的代码用于获取上述信息 from random import randint import plotly.graph_objects as go x1 = [randint(0, 9) for p in range(0, 10)] x2 = [randint(0, 9) for p in range(0, 10)] x3 = [randint(0, 9) for p in range(0, 10)] time=list(range(0, len(x1)))

其目的是绘制并获得下图

下面的代码用于获取上述信息

from random import randint
import plotly.graph_objects as go


x1 = [randint(0, 9) for p in range(0, 10)]
x2 = [randint(0, 9) for p in range(0, 10)]
x3 = [randint(0, 9) for p in range(0, 10)]

time=list(range(0, len(x1))) 

fig = go.Figure()


fig.add_trace(go.Scatter(x=time, y=x1,
                    mode='lines',
                    name='X1'))

fig.add_trace(go.Scatter(x=time, y=x2,
                    mode='lines',
                    name='X2'))


fig.add_trace(go.Scatter(x=time, y=x3,
                    mode='lines',
                    name='X3'))
但是,为了提高代码的效率,我尝试了这样的方法,我从中得到了一些信息

数据=[x1,x2,x3]##这可能是错误的

   for i in range(0,2):
      trace = go.Scatter( x = times,
                               y = data[:, i],
                               mode = 'markers+lines'
                             )
每当我尝试使用for loop来使用plotly绘制图形时,都不会出现任何问题

谢谢你的帮助。
感谢我不知道为什么第一个版本显示时没有
fig.show()
,但第二个版本主要使用
matplotlib
plotly
或其他模块(在脚本、python外壳或笔记本中),我必须使用
fig.show()
(或
plt.show()
for
matplotlib
)来查看绘图

在更改了一些错误后-
y=data[i]
而不是
y=data[:,i]
range(3)
而不是
range(0,2)
-此代码在
笔记本中对我有效

from random import randint
import plotly.graph_objects as go

x1 = [randint(0, 9) for p in range(10)]
x2 = [randint(0, 9) for p in range(10)]
x3 = [randint(0, 9) for p in range(10)]

time = list(range(len(x1))) 

data = [x1, x2, x3] 

fig = go.Figure()

for i in range(3):
    fig.add_trace(go.Scatter(x=time, y=data[i], mode='markers+lines', name='X{}'.format(i)))

fig.show()  

我不知道为什么第一个版本显示时没有
fig.show()
,但第二个版本主要使用
matplotlib
plotly
或其他模块(在脚本、python的shell或笔记本中),我必须使用
fig.show()
(或
plt.show()
for
matplotlib
)来查看绘图

在更改了一些错误后-
y=data[i]
而不是
y=data[:,i]
range(3)
而不是
range(0,2)
-此代码在
笔记本中对我有效

from random import randint
import plotly.graph_objects as go

x1 = [randint(0, 9) for p in range(10)]
x2 = [randint(0, 9) for p in range(10)]
x3 = [randint(0, 9) for p in range(10)]

time = list(range(len(x1))) 

data = [x1, x2, x3] 

fig = go.Figure()

for i in range(3):
    fig.add_trace(go.Scatter(x=time, y=data[i], mode='markers+lines', name='X{}'.format(i)))

fig.show()  

当我在笔记本中为
-loop运行
时,我仍然必须使用
图。add_trace()
。和
fig.show()。和
fig.show()
在第一个版本中循环后,单元格的最终结果是一个图形,它会自动显示。在for循环或if块或函数中,情况并非如此,需要show()。感谢您的快速响应和解释。在第一个版本中,我的工作非常完美,单元格的最终结果是一个数字,可以自动显示。在for循环或if块或函数中,情况并非如此,需要show()。感谢您的快速响应和解释。我工作得很好