Как назначить значения цветового оттенка для непрерывной переменной через пользовательские интервалы? - PullRequest
0 голосов
/ 17 октября 2018

У меня есть вектор "p", представляющий вероятности, и вектор "age", представляющий возраст субъекта (поскольку тест повторяется несколько раз в год, хорошо иметь более одного p для каждого возраста).Моя проблема заключается в том, что необходимо отобразить результаты таким образом, чтобы каждое значение p было связано с цветом в диапазоне от зеленого до желтого до красного в соответствии со значением p с интервалами 0,1 (0-0,1, 0,1-02 ... 0,9-1).например, если p равно 0, цвет зеленый, желтый, если p = 0,5, и красный, если p = 1. Между ними должны быть все цветовые оттенки от зеленого до желтого и красного.Я думаю, что я стал ближе к приведенному ниже коду, проблема в том, что кажется, что функция изображения использует максимальное значение p в качестве эталонного значения для «красного».

age<-c(6,6,6,7,7,8,8,8,9,9,9)
p<-c(0.1,0.2,0.1,0.1,0.4,0.5,0.3,0.1,0.1,0.2,0.3)

colors <- colorRampPalette(c("green", "yellow", "red"))(10)
image(as.matrix(p[1:length(p)]), col = colors, axes = F)
par(new=T)
plot(p[1:length(p)],axes=FALSE,cex.lab=1.5,
 ylab="probability",
 xlab="age",
 ylim=c(0,1),type="l",lty=1, lwd=2)
 axis(1,at=seq(1,length(age),1),lab=round(age),cex.axis=1)
 axis(2,at=seq(0,1,0.1),lab=seq(0,1,0.1),cex.axis=1,las=1)

Как вы можете видетьГрафик отображает ярко-красный для р = 0,5 и темно-оранжевый для 0,4 (в основном, где они 1 и 0,9).если кто-нибудь может помочь мне исправить это было бы здорово!большое спасибо!

...