5
我有這樣簡單的代碼(數據+ barplot):GGPLOT2:barplot顏色作爲y軸值的函數
dat <- c('Jan','Feb','Mar', 'Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')
val <- c(-2.5, 3, 2.5, -3.3, -1, 0.2, 6, 4.3, 5.5, 2, -1.9, -2.3)
df <- data.frame(dat, val)
bar <- ggplot(data = df, aes(x = factor(dat, levels = month.abb), y = val)) +
geom_bar(stat = 'identity')
print(bar)
別處我使用以下調色板創建的熱圖:
# Palette
LtoM <-colorRampPalette(c('red', 'yellow'))
Mid <- "snow3"
MtoH <-colorRampPalette(c('lightgreen', 'darkgreen'))
被名爲:
scale_fill_gradient2(low = LtoM(100), mid = Mid, high = MtoH(100))
現在我想用類似的調色板我barplot,那是我想合作lor在每個酒吧是一個高度的函數(從紅色的最小y到最大y的某個等級)。
請問我該怎麼做?
感謝回答lilster。其實我知道如何得到你的第一張圖,但是這並不完全是我所追求的。當val = 5(以及中間的一個顏色刻度)時,我想要val val = -2的所有酒吧爲'紅色'和'綠色'。它是不同的比每個酒吧上色(一致)取決於它代表的價值。我希望我現在更清楚一點 – tagoma
我想我需要更多細節。 '我要val val = -2時,所有的酒吧在val = 5時都是'紅色'和'綠色'(中間還有一個色標)''。 < - 我發佈的兩張圖似乎都滿足了這一點。 '是不同的,根據它代表的值,每根條都有顏色(一致)。' < - 這是不同的,但在我的答案中,兩種顏色都沒有統一着色。 比例填充漸變已將您的最小值設置爲「最紅」,您的最大值爲「最綠」,然後是中間的一個色階。 你能描述一下你是如何區別於你正在尋找的,也許是一個圖像文件attache – lilster
hello lilster感謝你的耐心:)我想繪製一個情節'像'這一個http://www.quinn-curtis .com/QCChar96.jpg你可以看到,在任何y值下,所有的條都是相同的顏色,顏色是y值的函數。 – tagoma