我正在尝试根据一组数据绘制线条图,其中每一行都包含了绘图所需的信息。我的目标是将这些行转化为六条线在图中表示,并且希望线条的颜色能够根据它们所属的标签来着色(例如,标签0为蓝色,标签1为红色
)。数据示例如下:
标签, col1, col2, col3
0, 43.55, 98.86, 2.34
1, 21.42, 51.42, 71.05
0, 49.17, 13.55, 101.00
0, 5.00, 17.88, 28.00
1, 44.00, 2.42, 34.69
1, 41.88, 144.00, 9.75
按照这个设定,标签为0的行(第0、2、3行)应该用蓝色表示,而标签为1的行(第1、4、5行)则应用红色表示。
为了实现这一目标,我尝试了先将行转换成列,然后进行绘图的操作:
import pandas as pd
df = pd.read_csv('dfname', header=0)
df.set_index('Label', inplace=True) # 使用标签作为索引
df_T = df.iloc[:,1:].transpose() # 移除标签列并转置数据框
转置后的df_T
看起来像这样:
Label 0 1 0 0 1 1
col1 43.55 21.42 49.17 5.00 44.00 41.88
col2 98.86 51.42 13.55 17.88 2.42 144.00
col3 2.34 71.05 101.00 28.00 34.69 9.75
但是,当我使用df_T.plot.line()
命令绘制这些列时,每一列自动分配了不同的颜色,而不是我想要的根据标签统一着色的效果。
我希望能够得到你们的帮助,让这些线条能正确地根据其标签颜色来着色,谢谢!