Python 熊猫基于某一列绘制多条线

Python 熊猫基于某一列绘制多条线,python,pandas,plot,Python,Pandas,Plot,我有一个这样的数据帧 timestamp|type|value_1|value_2 t1|A|v1|v2 t2|B|v3|v4 t3|C|v5|v6 t4|A|v7|v8 我想画一个图表,每种类型和值有6行 比如说 type A - value_1 type A - value_2 type B - value_1 type B - value_2 type C - value_1 type C - value_2 谢谢 就像这样 A = df[df["type"] == A]

我有一个这样的数据帧

timestamp|type|value_1|value_2

t1|A|v1|v2

t2|B|v3|v4

t3|C|v5|v6

t4|A|v7|v8
我想画一个图表,每种类型和值有6行 比如说

type A - value_1
type A - value_2

type B - value_1
type B - value_2

type C - value_1
type C - value_2
谢谢

就像这样

A = df[df["type"] == A]

A.plot(x="time", y=["value_1", "value_2"])
这样做有三种类型
并将这6条线组合在同一个图形上

直到绘图为止,我建议您检查: 以及

对于要打印的数据选择,我建议使用中的“按标签选择”部分。我想您可以将对应列/行中的值存储在一些临时变量
x1-xn
y1-yn
中,然后只绘制所有对,这可能类似于:

xs = sheet.loc[<appropriate labels>]
ys = sheet.loc[<appropriate labels>]
for i in range(len(xs)):
   plt.plot(xs[i],ys[i],<further arguments>)
plt.show()
allXs = sheet.loc['v1']
xsTypeA = allXs[1::4]
...

希望这能有所帮助。

我认为您可以将
数据框
重塑为列,然后
绘图

df['g'] = df.groupby('type').cumcount()
df = df.set_index(['timestamp','g', 'type']).unstack().reset_index(level=1, drop=True)
df.columns = df.columns.map('_'.join)

df.plot()

我能帮你设置格式吗?要回答这个问题,你是否需要
df.set_index('type').plot()
如果
value_1
value_2
是数字?我正在尝试设置表的格式。是的,value_1和value_2都是数字。你需要4个空格来设置正确的格式。