изменить цвет полигона и добавить легенду

В SQL все, что вы оцениваете / вычисляете с помощью NULL, приводит к UNKNOWN

. Поэтому SELECT * FROM MyTable WHERE MyColumn != NULL или SELECT * FROM MyTable WHERE MyColumn <> NULL дает вам 0 результатов.

Чтобы обеспечить проверку значений NULL, предоставляется функция isNull.

Кроме того, вы можете использовать оператор IS, как вы использовали в третьем запросе.

Надеюсь, это поможет.

0
задан MY.BK 4 March 2019 в 14:24
поделиться

1 ответ

Один вариант можно добавить polygon для hmin2 вне цикла. Чтобы добавить легенду, вы должны увеличить площадь сюжета (xlim и ylim), чтобы легенда была видна.

plot(NULL, xlim=c(FullRange[1]-1, FullRange[2] +1), ylim=c(-1,4),  yaxt="n", xlab="Value", ylab="")
abline(v=19.293)
axis(2, at=(0:2)+0.4, labels=c("hmin1", "hmin2","hmin3"), 
     lty=0, las=2)

for(i in c(1,3)) {
  polygon(c(BoxRanges[[i]][1], BoxRanges[[i]][1], 19.293, 19.293), 
          c(i-1,i-0.2,i-0.2,i-1), col="red")
  polygon(c(19.293, 19.293, BoxRanges[[i]][2], BoxRanges[[i]][2]), 
          c(i-1,i-0.2,i-0.2,i-1), col="blue")
}
i = 2
polygon(c(BoxRanges[[i]][1], BoxRanges[[i]][1], 19.293, 19.293), 
        c(i-1,i-0.2,i-0.2,i-1), col="blue")
polygon(c(19.293, 19.293, BoxRanges[[i]][2], BoxRanges[[i]][2]), 
        c(i-1,i-0.2,i-0.2,i-1), col="red")

legend(x = 20, y = 4.5, legend = "negative changes",
     border = NULL, fill = "red",
     bty = "n",
     bg = "n")
legend(x = 20, y = 4, legend = "positive changes",
       border = NULL, fill = "blue",
       bty = "n",
       bg = "n")

enter image description here

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

Если вы хотите добавить заголовок к своему графику, вы должны использовать main внутри plot. Чтобы добавить метку к своей линии, вы можете использовать text:

plot(NULL, xlim=c(FullRange[1]-1, FullRange[2] +1), ylim=c(-1,4),  yaxt="n", xlab="Value", ylab="", main = "Range of H min values with parameter changes")
abline(v=19.293)
axis(2, at=(0:2)+0.4, labels=c("hmin1", "hmin2","hmin3"), 
     lty=0, las=2)

for(i in c(1,3)) {
  polygon(c(BoxRanges[[i]][1], BoxRanges[[i]][1], 19.293, 19.293), 
          c(i-1,i-0.2,i-0.2,i-1), col="red")
  polygon(c(19.293, 19.293, BoxRanges[[i]][2], BoxRanges[[i]][2]), 
          c(i-1,i-0.2,i-0.2,i-1), col="blue")
}
i = 2
polygon(c(BoxRanges[[i]][1], BoxRanges[[i]][1], 19.293, 19.293), 
        c(i-1,i-0.2,i-0.2,i-1), col="blue")
polygon(c(19.293, 19.293, BoxRanges[[i]][2], BoxRanges[[i]][2]), 
        c(i-1,i-0.2,i-0.2,i-1), col="red")

legend(x = 20, y = 4.5, legend = "negative changes",
       border = NULL, fill = "red",
       bty = "n",
       bg = "n")
legend(x = 20, y = 4, legend = "positive changes",
       border = NULL, fill = "blue",
       bty = "n",
       bg = "n")
text(x = 17.5, y = -0.9, labels ="19.293", col = "black", cex = 0.9)
0
ответ дан patL 4 March 2019 в 14:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: