Вы можете передать вектор цветов параметру col
, так что это просто вопрос определения групп z
таким образом, который имеет смысл для вашего приложения.В базе есть функция cut()
или в Hmisc cut2()
, которая предлагает немного больше гибкости.Чтобы помочь в выборе разумных цветовых палитр, пакет RColorBrewer неоценим.Вот быстрый пример после определения x,y,z
:
z.cols <- cut(z, 3, labels = c("pink", "green", "yellow"))
plot(x,y, col = as.character(z.cols), pch = 16)
Очевидно, вы можете добавить legend
вручную.К сожалению, я не думаю, что все типы графиков принимают векторы для аргумента col
, но type = "p"
, очевидно, работает.Например, plot(x,y, type = "l", col = as.character(z.cols))
выходит для меня одним цветом.Для этих графиков вы можете добавить разные цвета с помощью lines()
или segments()
или любой другой команды низкоуровневого построения, которую вам нужно использовать.Посмотрите ответ @Andrie, чтобы сделать это с type = "l"
графиками в базовой графике здесь .