5
我正嘗試在一個點上創建一個具有鮮明顏色轉換的色階。我目前在做的是:如何在ggplot2中使用銳轉換製作色階
test <- data.frame(x = c(1:20), y = seq(0.01, 0.2, by = 0.01))
cutoff <- 0.10
ggplot(data = test,
aes(x = as.factor(x), y = y, fill = log(y), width = 1, binwidth = 0)) +
geom_bar(stat = "identity") +
scale_fill_gradientn(colours = c("red", "red", "yellow", "green"),
values = rescale(log(c(0.01, cutoff - 0.0000000000000001, cutoff, 0.2))),
breaks = c(log(cutoff)), label = c(cutoff))
它正在生產我想要的情節。但是,顏色條中斷的位置因截止點而異。有時在價值之下,有時在上面,有時在線上。這裏有一些地塊以不同的截止(0.05,0.06,0.1):
我在做什麼錯?或者,有沒有更好的方法來創建這樣的色階?
@Hengrui江難道我的回答解決問題了嗎? – Henrik
感謝您的建議!對於這個問題中的例子來說,這確實是一個很好的選擇。但我在這裏看到兩個問題:1.低於截斷值的值不能被「加權」,例如,在我的小例子2中,'colors = c(「red4」,「red」,「yellow」,「green」)'''''''''''''''''''' –