首页 > 解决方案 > 通过使用 matplotlib 或 seaborn 循环列表来更新图形/绘图

问题描述

我有一个包含 5000 个元素的列表。该列表的每个元素都有 2 个单独的列表(假设 x 和 y),每个列表有 128 个变量。现在我想在同一张图中绘制 5000 条 x 和 y 线。该列表采用以下形式:

my_list = [
    [[1_a1,1_a2,1_a3...,1_a128],[1_b1,1_b2,1_b3...,1_b128]], 
    [[2_a1,2_a2,2_a3...,2_a128],[2_b1,2_b2,2_b3...,2_b128]],
    ......,
    [[5000_a1,5000_a2,5000_a3...,5000_a128],[5000_b1,5000_b2,5000_b3...,5000_b128]]
]

我曾尝试使用 matplotlib,但我得到了 5000 个单独的图,但是,我需要 5000 行在一个图中

for i in range(0,len(empty),1): #empty is my_list
 fig1 = plt.figure()
 plt.plot(empty[i][0],empty[i][1], 'r', linewidth=1) 
 plt.grid(True) 
 plt.xlabel('Heat flow in kW')
 plt.ylabel('Temperature in C') 
plt.show()

标签: pythonmatplotlibplotseaborn

解决方案


由于您尚未发布代码,我会在这里猜测一下,但请考虑使用以下内容在一个图表上绘制这 5000 条线:

import matplotlib.pyplot as plt
import numpy as np

# my_list: contains data described above
for sub_list in my_list:
    x = np.array(sub_list[0])
    y = np.array(sub_list[1])
    plt.plot(x, y)

plt.show()

推荐阅读