【发布时间】:2020-05-13 14:10:46
【问题描述】:
我有ggplot 手动色标,指定midpoint = 2.5 如下;
#create dataframe
df <-data.frame(x = c(rnorm(300, 3, 2.5), rnorm(150, 7, 2)), # create random data
y = c(rnorm(300, 6, 2.5), rnorm(150, 2, 2)),
z = c(rnorm(300, 6, 2.5), rnorm(150, 2, 2)))
#plot
gg <-ggplot(df, aes(x=x, y=y, color=z)) +
geom_point() +
scale_color_gradient2(midpoint=2.5, low="red", mid="white",high="blue", space ="Lab")
,结果如下图;
在这里,我想在色标的最小边缘设置更鲜艳(或深)的红色(即#FF0000 或 rgb(255,0,0))(即最小 z 值为min(df$z)[1] -3.718939) .
在这种情况下,我不想移动midpoint = 2.5。
你有什么解决办法吗?
添加注释以响应第一个答案
我想在 z 最大值处保持蓝色鲜艳的颜色,就像原始图中一样。由于第一个答案,我注意到scale_color_gradient2 中存在trans =。但是,我不知道如何解决我的问题。
【问题讨论】: