我有一个嵌套列表和一个函数:
a = [[2,3,4],[3,4,5],[5,7]]
def triple(a):
return (a**2)+3
我试图绘制子列表中的每个点,例如第一个连接到第二个的值,第二个连接到第三个,然后停在子列表的最后一个值。 x
是子列表中的值,y
是triple(y for y in sublist)
for g in a:
for t in g:
plt.scatter(t, triple(t))
for g in a:
for o in range(len(g)):
plt.plot([g[o],g[o+1]], [triple(g[o]), triple(g[o+1])], color = 'red')
plt.show()
我尝试过,但是没有得到我想要的欲望输出。
我该怎么做才能绘制a
中的每个子列表并获得三种不同颜色的线条?
答案 0 :(得分:0)
color='red'
,因此每条线都用一种颜色绘制。plt.scatter
绘制圆圈。不需要这样做,您可以在marker
中使用plt.plot
参数。ValueError
,因为当o
在g
的最后一个元素中时,o+1
将指向未定义的元素。我改写了这一行。我更改了a
,只是为了获得更清晰的视图。这是最终代码:
a = [[2, 3, 4], [5, 6, 7], [8, 9]]
for g in a:
plt.plot(g, [(x**2)+3 for x in g], marker='.')
plt.show()