Используя цвет как 3-е измерение - PullRequest
3 голосов
/ 24 сентября 2011

У меня есть 3 измерения, которые я хочу построить, и я хочу, чтобы третье измерение было цветным.

Кстати, это будет R.Например, мои данные выглядят так:

x = [1,2,3,4,1,5,6,3,4,7,8,9]
y = [45,32,67,32,32,47,89,91,10,12,43,27]
z = [1,2,3,4,5,6,7,8,9,10,11,12]

Я пытаюсь использовать fill.contour, но при этом я получаю сообщение об ошибке, в котором говорится, что x и y должны быть в порядке возрастания.Но я не совсем уверен, как расположить мои данные так, чтобы это было правдой.Потому что если я расположу x в возрастающем порядке, то y не будет в возрастающем порядке.

Для меня также выполнимо сделать метод контура с незаполненным контуром, где окрашиваются только точки данных.Как я могу сделать это в R. Любые предложенные пакеты?Пожалуйста, используйте конкретные примеры.Спасибо!

1 Ответ

5 голосов
/ 24 сентября 2011
jet.colors <-
   colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan",
                      "#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000"))
plot(x,y, col=jet.colors(12)[z], ylim=c(0,100), pch=20, cex=2)
legend(8.5,90, col = jet.colors(12)[z], legend=z, pch=15)

И если вы хотите проверить раскраску, вы можете пометить точки значением z:

text(x, y+2, labels=z)  #offset vertically to see the colors

enter image description here

Другой вариант - использовать пакет: akimaкоторый выполняет интерполяцию на нерегулярных (не) сетках

...