python - 如何绘制一条线并设置嵌套列表中每条线的颜色?

标签 python list loops matplotlib

我有一个嵌套列表和一个函数:

a = [[2,3,4],[3,4,5],[5,7]]

def triple(a):
    return (a**2)+3

我尝试绘制子列表中的每个点,例如第一个值连接到第二个值,第二个值连接到第三个值,并停止在子列表中的最后一个值。 x是子列表中的值,y三倍(y代表子列表中的y)

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 中的每个子列表并获得三种不同颜色的线条?

最佳答案

  1. 您指定了 color='red',因此每条线都用一种颜色绘制。
  2. 您使用plt.scatter来绘制圆圈。不需要这样做,您可以在plt.plot中使用marker参数。
  3. 您的代码抛出 ValueError,因为当 o 位于 g 的最后一个元素时,o+1 将指向未定义的元素。我重写了这一行。

我稍微改变了a,只是为了获得更独特的 View 。这是最终的代码:

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()

关于python - 如何绘制一条线并设置嵌套列表中每条线的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55349370/

相关文章:

Python SARIMA 模型自动使用 CPU 的所有核心。如何?

python - 使用 Seaborn 将一维时间序列绘制为一条线,并沿 y 轴绘制边缘直方图

python - 允许在我的正则表达式中使用转义序列

python - 使用 PKCS#11 在 Python 中提供 SSL 连接

R - 使用 purrr 在列表列表中用 NA 替换 NULL 元素

java - 如何将 Ints 读取为数组并输出 MinMax

Vim 脚本 : Count lines that match expression, 并折叠

java - 我必须从列表中的一行中获取列 userid

list - 有没有一种懒惰的方法来编写减号函数(从列表中删除项目)?

C for 循环与 rolled out 循环有不同的效果