我正在嘗試使用geom_tile創建一個圖。源數據是連續的,但我想使用離散級別對其進行着色,以使得繪圖更易於閱讀。我希望生成的顏色條顯示離散的級別,但要將基礎數據稱爲連續的。類似這樣的: 在ggplot中創建半離散顏色條
這實質上是一個連續的彩色比例覆蓋離散值。
到目前爲止,我有這樣的:
require(ggplot2)
x <- rep(1:10, 10)
y <- rep(1:10, each=10)
z <- rnorm(length(y))
df <- data.frame(x, y, z)
ggplot(df) + geom_tile(aes(x, y, fill=z)) +
scale_fill_gradient2(low="blue", mid="white", high="red", midpoint=0)
給予這樣的:
我想斌的連續可變的 「Z」 來設定的水平,所以我可以用切:
df$discrete_z <- cut(z, breaks=seq(-3,3, 1), include.lowest=T)
ggplot(df) + geom_tile(aes(x, y, fill=discrete_z)) +
scale_fill_brewer(type="div", palette="PRGn", guide="legend")
給予:
這是更接近,但現在的數字表示爲每個顏色「塊」的範圍,而我試圖讓數字分別位於顏色塊之間,以更好地給出連續縮放的印象。
'discrete_z'是一個因素。您可以更改關卡名稱,最簡單的方法是在標籤參數 –