Как изменить цвет графика в соответствии со значением X в r - PullRequest
0 голосов
/ 23 апреля 2020

Я пробовал это и его изменение цвета графика на основе уровней, соответствующих оси Y. Можно ли сделать то же самое, но график должен изменить цвет на основе уровней, соответствующих значениям оси X?

`

library(plotrix)
library(RColorBrewer)
my_colors = brewer.pal(8, "Set2") 
x<-seq(1,100)
y<-sin(x/5)+x/20
par(mar=c(4,4,2,2))
clplot(x, y, main="", lty = 5,lwd=5, levels=c(1,2,3,4,5), col=my_colors, showcuts=T , bt='n')

`

изображение

1 Ответ

0 голосов
/ 23 апреля 2020

Вот пример с базовой графикой. Функция segments(x0, y0, x1 = x0, y1 = y0, col ....) dr aws строк от каждого x0, y0 до следующего соответствующего x1, y1, где нам нужно удалить первый элемент из x0 и последний элемент из x1:

library(RColorBrewer)
ncol <- 8
my_colors <- brewer.pal(ncol, "Set2") 
x <- 1:100
y <- sin(x/5) + x/20

plot(x, y, type="n")
n <- length(x)
segments(x[-1], y[-1], x[-n], y[-n], col=my_colors[ceiling(ncol * x[-1]/max(x))], lwd=2)

Также возможны непрерывные цвета.

...