平行坐标图

时间:2018-05-11 20:56:12

标签: r plot legend

我有这样的数据集:

    HR_1 HR_2 HR_3 HR_4 label
    0.1  0.05 1.5   1.6  1   
    0.04 0.15 1.0  1.6   1 
    1.1  2.05 2.5   1.6  0

我想创建平行坐标图,其中我的X轴是1,2,3,4,Y轴是我的数据。此外,我希望每条线的颜色对于具有相同标签的所有线都是相同的。

现在我正在使用EMcluster包中的plotmd做我想做的事情,但没有为线后面的颜色创建一个图例,所以我不知道每个颜色对应的每个类。

2 个答案:

答案 0 :(得分:1)

使用GGally :: ggparcoord()

library(GGally)
df$label <- as.factor(df$label) #label should be a factor
ggparcoord(df, columns = 1:4, groupColumn = 'label',
           scale = 'globalminmax')

答案 1 :(得分:0)

您可以使用legend功能添加图例。困难的部分是找到要使用的颜色。

library(EMCluster)

plotmd(snapshots[,1:4],class = snapshots$label)
legend("bottomright", legend=unique(snapshots$label), lty=1, 
    col=color.class[unique(snapshots$label)%%length(color.class) + 1])

Parallel Coordinates

为了找到颜色,我输入plotmd来查看plotmd函数的代码。你可以看到那里的颜色是如何创建的。请注意,它会根据类对行进行着色 - 在您的情况下是标签 - 因此第1行和第2行之间没有区别。