gpt4 book ai didi

python - 绘制元组列表(包含图形编号)

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:30 26 4
gpt4 key购买 nike

我的问题与此“Python: plot list of tuples”有关。区别在于元组的结构。第一部分显示图的编号,第二部分显示值 (y)。我已经设法将一个大列表中的数据提取到三个列表中。

如何在三个图中绘制这个元组列表(线图)?

[(1, '0'), (1, '4'), (1, '2'), (1, '6'), (1, '3'), (1, '4'), (1, '5'), (1, '6'), (1, '7'), (1, '12'), (1, '23')]
[(2, '1'), (2, '7'), (2, '2'), (2, '4'), (2, '1'), (2, '7'), (2, '2'), (2, '3'), (2, '4'), (2, '2'), (2, '3')]
[(3, '2'), (3, '4'), (3, '4'), (3, '2'), (3, '1'), (3, '13'), (3, '9'), (3, '8'), (3, '4'), (3, '2'), (3, '7')]

最佳答案

您必须为元组创建第三个维度来表示 x 轴,否则没有任何内容可绘制。我假设这些是按顺序排列的,并且列表中元组的索引可以被视为一种时间元素。

我觉得如果你一步步来的话会更容易理解。您可以将每个元组中的第一项视为线条颜色,将第二项视为 y 轴值。假设这些按顺序排列,您可以枚举每个列表并将递增值作为 x 轴值。

因此,迭代所有 3 个列表,然后迭代每个枚举元组,将最终数据集的 x、y 和颜色值附加到主列表data

将它们拉入 pandas 数据框并使用 seaborn 干净地创建您正在寻找的多线图。

import pandas as pd
import seaborn as sns

a = [(1, '0'), (1, '4'), (1, '2'), (1, '6'), (1, '3'), (1, '4'), (1, '5'), (1, '6'), (1, '7'), (1, '12'), (1, '23')]
b = [(2, '1'), (2, '7'), (2, '2'), (2, '4'), (2, '1'), (2, '7'), (2, '2'), (2, '3'), (2, '4'), (2, '2'), (2, '3')]
c = [(3, '2'), (3, '4'), (3, '4'), (3, '2'), (3, '1'), (3, '13'), (3, '9'), (3, '8'), (3, '4'), (3, '2'), (3, '7')]

data = []
for x in [a,b,c]:
for i, t in enumerate(x):
data.append([i, t[0], t[1]])

df = pd.DataFrame(data)
df = df.astype(int)
df.columns=['Time','Color','Value']

sns.lineplot(x='Time',y='Value',hue='Color',data=df)

关于python - 绘制元组列表(包含图形编号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59616532/

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