gpt4 book ai didi

python - 在Python中的同一个图上绘制数组列表?

转载 作者:太空宇宙 更新时间:2023-11-03 15:39:10 24 4
gpt4 key购买 nike

我有一个数组列表或一个数组数组,看起来像

a=[array1([.....]),array2([.....]),array3([....]),.....]

和一个单独的数组 b (不是列表)

b=np.array[()]

列表“a”中的所有数组的长度与“b”的长度相同。我想在 y 轴上的列表“a”和 x 轴上的“b”中绘制所有数组都在同一个图上。因此,一张图由 a[0] 与 b、a[1] 与 b、a[2] 与 b 等组成。

我该怎么做?

我试过了

f, axes = plt.subplots(len(a),1)
for g in range(len(a)):
axes[g].plot(b,a[g])
plt.show()

但这给了我很多相互堆叠的图,而且它们甚至没有所有数据。我希望一切都集中在一个地 block 上。

最佳答案

我刚刚找到了一些应该完成此任务的旧代码。尝试:

import random
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np

# define a and b here

# Helps pick a random color for each plot, used for readability
rand = lambda: random.randint(0, 255)
fig = plt.figure(figsize=(10,7.5))
ax = fig.add_subplot(111)
for ydata in a:
clr = '#%02X%02X%02X' % (rand(),rand(),rand())
plot, = ax.plot(b, ydata, color=clr)

编辑:每次生成相同的颜色集,如 this post 中的回答。 ,尝试:

colors = cm.rainbow(np.linspace(0, 1, len(a)))
for ydata, clr in zip(a, colors):
plot, = ax.plot(b, ydata, color=clr)

np.linspace 为您提供“在指定间隔内均匀分布的数字”,[0,1] 用于此目的。

关于python - 在Python中的同一个图上绘制数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42308660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com