如何使用误差线绘制多条线
问题描述
我有一个数据帧
df =
f1. f2. f3. f4. f5. g
1. 2. 3. 4. 1. 0
2. 4. 6. 8. 7. 0
1. 2. 3. 6. 1. 1
5. 4. 6. 8. 7. 1
9. 2. 7. 5. 1. 0
8. 4. 2. 4. 5. 1
我想画一个带误差带的线条图,其中每一行都是另一个样本,色调由列g决定,值是数字,X轴是列(f1,f2,f3,f4,f5)
这可能吗?
解决方案
对于这些问题,您经常需要使用.melt()
:
import pandas as pd
import seaborn as sns
df1 = df.melt(id_vars='g')
sns.lineplot(data=df1, x='variable', y='value', hue='g')
df1
Out[1]:
g variable value
0 0 f1. 1.0
1 0 f1. 2.0
2 1 f1. 1.0
3 1 f1. 5.0
4 0 f1. 9.0
5 1 f1. 8.0
6 0 f2. 2.0
7 0 f2. 4.0
8 1 f2. 2.0
9 1 f2. 4.0
10 0 f2. 2.0
11 1 f2. 4.0
12 0 f3. 3.0
13 0 f3. 6.0
14 1 f3. 3.0
15 1 f3. 6.0
16 0 f3. 7.0
17 1 f3. 2.0
18 0 f4. 4.0
19 0 f4. 8.0
20 1 f4. 6.0
21 1 f4. 8.0
22 0 f4. 5.0
23 1 f4. 4.0
24 0 f5. 1.0
25 0 f5. 7.0
26 1 f5. 1.0
27 1 f5. 7.0
28 0 f5. 1.0
29 1 f5. 5.0
相关文章