如何在R的ggplot2中指定手动色标?

顽固的

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")

,结果如下图;

在此处输入图片说明

在这里,我想在色标的最小边缘(即z值为min)设置更鲜艳(或更深)的红色(即#FF0000或rgb(255,0,0)min(df$z)[1] -3.718939)。

在这种情况下,我不想移动midpoint = 2.5

你有什么解决办法吗?

为第一个答案添加了注释

我想像原始图一样在z最大值处保持蓝色鲜艳的色彩。由于第一个答案,我注意到trans =in的存在scale_color_gradient2但是,我不知道如何解决我的问题。

莫哈纳松达兰

考虑到您的样本,中点将数据分别分为25%和75%。

可以不使用带有三个颜色调用的scale_color_gradient2,而是可以使用带有四个颜色调用的scale_color_gradientn和白色作为第二种颜色(因为中间品脱刚好超过25%。

gg <-ggplot(df, aes(x=x, y=y, color=z)) + 
  geom_point() + 
  scale_color_gradientn(colors=c("red","white", "blue", "darkblue"), space ="Lab")

在此处输入图片说明

PS:您也可以尝试 colors=c("red","white", "lightblue", "blue")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

R:如何在 ggplot 中手动设置分箱色标?

ggplot2 的手动色标功能

如何在ggplot2中stat ='count'时手动更改barplot的填充颜色

如何在ggplot2中手动添加误差线和n =样本大小?

如何在ggplot中将手动色标传递给geom_smooth?

如何在R-Plotly等高线图中手动设置色标?

如何在ggplot2中添加alpha色标

如何在ggplot2中绘制(复杂的)堆叠条形图,而无需复杂的手动数据聚合

如何在 ggplot2 中的 geom_bar() 上放置标签(没有手动 y_position)

在ggplot2中手动添加标签

如何在使用日期时手动将中断添加到ggplot2?

R中折线图ggplot2的手动图例标签

R-geom_line ggplot2中的手动图例颜色

更改 ggplot2 图例顺序而不更改手动指定的美学

ggplot2使用geom_line手动指定颜色

如何在由多个不同几何组成的ggplot中手动指定图例文本/颜色?

如何在R中手动添加符号

如何在ggplot2中指定图形大小而与轴标签无关

手动更改图例 ggplot2 的形状

ggplot2:手动添加图例

ggplot2 中点的手动颜色

R平均值和标准偏差的手动箱线图(ggplot2)

R ggplot2:手动设置填充颜色没有“填充”美学?

如何手动更改 ggplot2 图例以包含 vlines?

具有ggplot2中定义的形状,线型和标签的完整手动图例

在ggplot2中添加手动设计的非线性线?

在ggplot2中手动缩放离散x轴变量

在ggplot2中手动中断facet_wrap()

在ggplot2中手动选择色调/微调颜色