График параллельных координат - PullRequest
0 голосов
/ 11 мая 2018

У меня есть такой набор данных:

    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 - мои данные. Более того, я хочу, чтобы цвет каждой строки был одинаковым для всех строк с одинаковой меткой.

Сейчас я использую plotmd из пакета EMcluster, который делает то, что я хочу, но не создает легенду для цвета за линией, поэтому я не знаю каждому классу, которому соответствует каждый цвет.

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Вы можете добавить легенду с помощью функции 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.

0 голосов
/ 12 мая 2018

Используйте GGally :: ggparcoord ()

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