簡體   English   中英

ggplot:漸變比例以在特定中斷處發散

[英]ggplot: gradient scale to diverge on specific break

我有這個數據:

df <- data.frame(x = 1:10,
                 y = 1:10,
                 value = c(seq(from = 0.5, to = 3.2, length.out = 9), Inf))

我想用突出顯示三個中斷值的漸變色標繪制:

breaks <- c(0.5,1,3.2)

我希望white突出我的中間突破值(即1 ),然后其他兩個在到達分布的兩個尾部時增加強度。 然而這將繪制

require(ggplot)
ggplot(df, aes(x,y,colour=value)) + geom_point(size=10) +
  scale_colour_gradientn(colours = c("red","white","blue"),
                         breaks = breaks, labels = format(breaks))

在此處輸入圖片說明

white以平均值/中值 ( 1.85 ) 為中心。 我不明白宣布斷點有什么意義。

您可以使用scale_colour_gradient2而不是scale_colour_gradientn

ggplot(df, aes(x,y,colour=value)) + 
  geom_point(size=10) +
  scale_colour_gradient2(low = "red", mid = "white", high = "blue", midpoint = 1, breaks = breaks) +
  theme_bw()

這給出:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM