我有Pandas表,看起来像:
| Sample | Type | 1 | 2 | 3 | ...
| S1 | Type1 | 1 | 2 | 3 | ...
| S2 | Type2 | 5 | 6 | 7 | ...
| S3 | Type3 | 8 | 9 | 10 | ...
....
| S100 | Type3 | n | n | n | ...
我想绘制多线图,其中每一行将颜色的类型从'类型'列(只有三种类型)。和轴必须是从列名的数字(1,2,3等)
我试过here的解决方案,但因为它绘制每一行,最后我有100多种不同的颜色。
下面是csv file和一个玩具示例
这就是我所做的基于与解决方案上面的链接。结果是好的,除了事实,我想只有3线的颜色,基于'类型'列
df = pd.read_csv('data.csv', sep=',')
df = df.set_index('Type')
df = df.drop(columns='Sample')
ax = df.T.plot(figsize=(7, 6))
ax.set_ylabel('Absolute Power (log)', fontsize=12)
ax.set_xlabel('Frequencies', fontsize=12)
plt.show()
1条答案
按热度按时间dgtucam11#
IIUC,您可以使用
groupby
绘制一组直线,然后只保留每条直线的一个示例来构建:输出: