Тонкая настройка xlabel и ylabel в параллельном сюжете Parcoord R

Я сделал 13 параллельных координатных линий, где каждый график имеет x линий, каждая из 5 точек. Есть три вещи, которые я хотел бы изменить:

  1. Я хотел бы удалить очень длинные вертикальные отметки по оси X, которые выступают ниже из графика
  2. Я хотел бы изменить метки оси X каждого графика на "N", "1", "2", "3", "4"
  3. Я хотел бы, чтобы ось Y была помечена для каждого графика. В настоящее время это не так. Максимальное значение y для каждого графика - max (вход). Итак, мне нравятся четыре метки по оси Y: max(вход), 3/4 max(вход), 1/2 max(вход) и 1/4 max(вход) (все до ближайшего целого числа, чтобы держать его аккуратным),
  4. Мне бы хотелось, чтобы над всеми графиками был основной заголовок (сейчас я просто назову его "Основной заголовок").

Вот мой код в настоящее время:

par(mfrow = c(3,5))
par(mar=c(0.1,0.1,0.1,0.1))
# For each color (cluster) in the random network
for (i in 1:max(net$colors)){
  color = mergedColors[which(net$colors == i)[1]]
  input = countTable[which(net$colors==i),]
  parcoord(input, lty = 1, var.label = FALSE, col = color)
}

где str (входные данные) - это data.frame из x наблюдений 5 переменных.

Я пытался добавить такие вещи, как x.label = c("N","1","2","3","4"), но это не сработало.

Редактировать:

Вот некоторые примеры данных, согласно предложениям. Пожалуйста, дайте мне знать, если я должен включить что-нибудь еще:

net <- data.frame(colors=as.numeric(sample(1:15, 100, replace = T)))

mycols <- c("brown", "blue", "turquoise", "greenyellow", "red", 
    "pink", "green", "yellow", "magenta", "black","purple",      
    "tomato1","peachpuff","orchid","slategrey")
mergedColors = mycols[net$colors]

countTable <- data.frame(matrix(sample(1:100,100*5, replace=T), 
    ncol=5, dimnames=list(NULL, c("Norm","One","Two","Three","Four"))))

1 ответ

Решение

ХОРОШО. Я не уверен, что понимаю запрос 1, но вот что я придумал

library(MASS)

opar<-par(no.readonly=T)
par(mfrow = c(3,5))
par(oma=c(1.2,2,2,0))
par(mar=c(2,2,0.1,0.1))
# For each color (cluster) in the random network
for (i in 1:max(net$colors)){
  color = mergedColors[which(net$colors == i)]
  input = countTable[which(net$colors==i),]
  colnames(input)<-c("N",1:4)
  parcoord(input, lty = 1, var.label = FALSE, col = color)
  axis(2,at=seq(0,1,length.out=5),labels=seq(min(input),max(input), length.out=5))
}
mtext("Main Title",3, outer=T)
par(opar)

примерный участок

Другие вопросы по тегам