【发布时间】:2016-05-06 20:21:03
【问题描述】:
我有一个 CSV 文件中的数据,我想在 Swarmplot 中绘制,就像这里的第 4 个示例 https://stanford.edu/~mwaskom/software/seaborn/tutorial/categorical.html - 即用颜色表示组。
在 CSV 文件中,数据按如下方式排列:
Group,1,1,2,2
Value1,0.5,0.3,0.2,0.1
Value2,1.7,1.3,1.1,1.0
...
我希望 swarmplot 上的颜色由组确定,并且每个值都有一个单独的图。
我已经走到这一步了:
import pandas as pns
import seaborn as sns
data_in = pns.read_cvs('file.csv',header=None,index_col=0)
data_t = data_in.transpose()
此时我的数据框如下所示:
0 Group Value1 Value2 ...
1 1 0.5 1.7
2 1 0.3 1.3
3 2 0.2 1.1
4 2 0.1 1.0
如果我这样做
k = data_t.keys()[[2,3]]
sns.swarmplot(data_t[k])
我可以拉出我想要的列,得到一个除了颜色之外看起来不错的图。我的问题是,为了使用 hue 关键字参数指定颜色,我还必须指定“x”或“y”参数。我不知道如何将我的数据框操作为可以指定其中任何一个变量的格式。我想得到这样的东西:
0 Group Name Value
1 1 Value1 0.5
2 2 Value1 0.3
3 1 Value2 0.2
4 2 Value2 0.1
...
但我无法确定是否要 stack()、使用 pivot_table 或完全使用其他东西。
提前致谢。
【问题讨论】: