【发布时间】:2019-07-25 07:19:26
【问题描述】:
我正在迭代地绘制来自二维数组(12,5000)、out_array 的 12 行数据的np.exp 结果。所有数据共享相同的 x 值 (x_d)。我希望前 4 次迭代都绘制为相同的颜色,接下来的 4 次是不同的颜色,接下来的 4 次是不同的颜色......这样我有 3 种不同的颜色,每种颜色对应于第 1-4、第 5-8 , 和第 9-12 次迭代。最后,最好在图例中用它们对应的颜色来定义这些集合。
我研究了cycler (https://matplotlib.org/examples/color/color_cycle_demo.html),但我无法弄清楚如何将颜色分配给 > 1 的迭代集。(在我的情况下为 4)。正如您在我的代码示例中看到的那样,我可以用不同的(默认)颜色绘制所有 12 行 - 或者 - 我知道如何使它们都具有相同的颜色(即 ...,color = 'r',...)
plt.figure()
for i in range(out_array.shape[0]):
plt.plot(x_d, np.exp(out_array[i]),linewidth = 1, alpha = 0.6)
plt.xlim(-2,3)
【问题讨论】:
-
您不能只使用带有 idx/4 的比较器的 while 循环吗?如果结果为 1、2、3,则应用不同的颜色
-
嗨克莱门特。我是一个新手程序员。如果您认为它会起作用,我会尝试一下。您是否有机会在现有代码中展示示例或建议新行?
-
我也是初学者,不过思路和你的单色机箱完全一样。只需在 for 循环中添加 if 案例,将 NBR_OF_CURVES 除以 NBR_OF_CHUNKS,您将拥有一个块索引,可用于在预设颜色数组中拾取颜色。可能不是最好的pythonicway,但这就是我会这样做的方式。 PS:忘记我想说的第一条评论的while循环 if case
-
这似乎是一个很好的逻辑。我应该如何迭代地计算曲线的数量?
-
这不是你的 for 循环迭代器
标签: python matplotlib plot colors iteration