I am wanting to plot many datasets on one plot in python. Currently, I have hardcoded 20 of the datasets for the sake of testing my plot. Here is the shortened code below:

import numpy as np
import matplotlib as plt

N_steps = 1000
N_plot = 20
xorb_list = np.empty((N_plot, N_steps))
yorb_list = np.empty((N_plot, N_steps))
xobs = np.empty((N_plot, N_steps))
yobs = np.empty((N_plot, N_steps))
zobs = np.empty((N_plot, N_steps))


for i in range(N_plot):
   for k in range(N_steps):
        xorb_list[i][k] = r[k] * cm_to_arcsec * cos_theta[k]
        yorb_list[i][k] = r[k] * cm_to_arcsec * sin_theta[k]
        xobs[i][k] = r[k] * (cos_lon * cos_w_plus_nu[k] - sin_lon * sin_w_plus_nu[k] * cos_i)
        yobs[i][k] = r[k] * (sin_lon * cos_w_plus_nu[k] + cos_lon * sin_w_plus_nu[k] * cos_i)
        zobs[i][k] = r[k] * sin_i * sin_w_plus_nu[k]

# Plotting the observed orbits

fig1 = plt.figure(1)
ax1 = fig1.add_subplot()
ax1.set_aspect(1)
ax1.set_title("Observed Stellar Orbits")

ax1.plot(xobs[0], yobs[0])
ax1.plot(xobs[1], yobs[1])
ax1.plot(xobs[2], yobs[2])
ax1.plot(xobs[3], yobs[3])
ax1.plot(xobs[4], yobs[4])
ax1.plot(xobs[5], yobs[5])
ax1.plot(xobs[6], yobs[6])
ax1.plot(xobs[7], yobs[7])
ax1.plot(xobs[8], yobs[8])
ax1.plot(xobs[9], yobs[9])
ax1.plot(xobs[10], yobs[10])
ax1.plot(xobs[11], yobs[11])
ax1.plot(xobs[12], yobs[12])
ax1.plot(xobs[13], yobs[13])
ax1.plot(xobs[14], yobs[14])
ax1.plot(xobs[15], yobs[15])
ax1.plot(xobs[16], yobs[16])
ax1.plot(xobs[17], yobs[17])
ax1.plot(xobs[18], yobs[18])
ax1.plot(xobs[19], yobs[19])

plt.show()

The total number of datasets will be around 100, which will not be fun to hardcode. Is there some way to generate these datasets for any arbitrary number of sets?

推荐答案

You can loop through your dataframe by its length. Then, place plt.show() outside the for loop like:

for x in range(len(xobs)): 
    ax1.plot(xobs[x], yobs[x])
plt.show()

Python相关问答推荐

如何去除没有 alpha 层的图像的黑色 bg colored颜色

如何使用不同的分隔符将 Python 中的列拆分为多个列

在 numpy 数组上挂钩设置值

python-pptx - 如何在多次运行中替换关键字?

生成中文/拼音名称

如何创建“if in”功能判断?

如何基于 CSV 创建没有标题的 json 文件

重复数据帧并增加时间戳

删除 Python 列表中匹配的多个文件

使用自定义函数按组汇总 pandas DataFrame 会导致错误输出

登录时未显示用户预订

通过 innerHTML 使用 Python 和 Selenium 定位元素

没有为自定义梯度的损失提供梯度

如何定义具有条件作为输入的函数?

为什么没有 keras.engine 的文档?

Flask-Restful 错误:请求 Content-Type 不是 'application/json'."}

通过 xpath 访问 XML 属性的问题

为什么我会收到日志(log)方法的“ufunc 循环不支持 numpy.ndarray 类型的参数 0”错误?

删除 pandas 列中的前导零,但仅适用于数字

如何将某些列移动到行中?