R 如何将绘图上的连续变量映射为额外图层?

R 如何将绘图上的连续变量映射为额外图层?,r,plot,colors,ggplot2,fill,R,Plot,Colors,Ggplot2,Fill,我试图在我的图上画一个连续变量。也许是通过颜色梯度。但我还没有成功。有没有关于在我的图中添加“gamma”的建议?我还想指出每个类别(2层)在地块上的位置,这在单个地块上可行吗 plot_2 <- ggplot(data=states_2)+ ggtitle("TBD ")+ xlab("q")+ylab("r")+ geom_point(aes(x=Q , y= Cor, color=metric))+geom_smooth (aes(x=Q, y=Cor, color=metr

我试图在我的图上画一个连续变量。也许是通过颜色梯度。但我还没有成功。有没有关于在我的图中添加“gamma”的建议?我还想指出每个类别(2层)在地块上的位置,这在单个地块上可行吗

 plot_2 <- ggplot(data=states_2)+  ggtitle("TBD ")+
 xlab("q")+ylab("r")+ geom_point(aes(x=Q , y= Cor, color=metric))+geom_smooth (aes(x=Q, y=Cor, 
color=metric,group=(metric)),
 method="lm", se=FALSE)

   Cor  metric  K     Q  Category     gamma
  0.33  APD    2s   0.4mu   64spp   -0.25282382
  0.23  APD    2s   0.4mu   64spp   -0.653438937
  0.21  APD    2s   0.4mu   64spp   0.799639202
  0.14  APD    2s   0.4mu   64spp   1.039215902
  0.37  APD    2s   0.4mu   64spp   0.207669854

plot_2好吧,正如评论所指出的,你没有给我们太多的东西继续下去(你真的需要把你的问题摆成bdemarest提到的样子)。因此,我创建了一些类似的假数据(据我所知),并完成了这项工作。将gamma引入此图片的最简单方法是调整点的大小

# fake some data into states_2
#
# Cor  metric  K     Q  Category     gamma
# 0.33  APD    2s   0.4mu   64spp   -0.25282382
# 0.23  APD    2s   0.4mu   64spp   -0.653438937
# 0.21  APD    2s   0.4mu   64spp   0.799639202
# 0.14  APD    2s   0.4mu   64spp   1.039215902
# 0.37  APD    2s   0.4mu   64spp   0.207669854
#
n <- 100
cor <- rnorm(n,0.25)
me <- sample(c("APD","APE","APF"),n,replace=T)
kk <- sample(c("2s","3t","4u"),n,replace=T)
qq <- sample(c("0.2mu","0.3mu","0.4mu","0.5mu","0.6mu"),n,replace=T)
ca <- sample(c("64spp","80spp"),n,replace=T)
ga <- rnorm(n,0.5,2)
states_2 <- data.frame(Cor=cor,metric=me,K=kk,Q=qq,Category=ca,gamma=ga)

# plot it
plot_2 <- ggplot(data=states_2)+  
  ggtitle("TBD ")+xlab("q")+ylab("cor")+ 
  geom_point(aes(x=Q , y= Cor, color=metric, size=gamma, alpha=0.5))+
  geom_smooth( aes(x=Q,y=Cor, color=metric,group=(metric)), method="lm",se=FALSE)+
  guides(alpha=F)

print(plot_2)
#将一些数据伪造成状态2
#
#Cor度量kq类伽马
#0.33 APD 2s 0.4mu 64spp-0.25282382
#0.23 APD 2s 0.4mu 64spp-0.653438937
#0.21 APD 2s 0.4mu 64spp 0.799639202
#0.14 APD 2s 0.4mu 64spp 1.039215902
#0.37 APD 2s 0.4mu 64spp 0.207669854
#

n如果没有来自
dput(states_2)
的输出,潜在的回答者将对您相当模糊的问题描述进行猜测。这是states_2数据集的前五行@BondedDust@Jack:您已经提出了许多
r
问题,这些问题可以通过进一步了解如何创建一个最小的、可复制的示例来改进。非常感谢你的帮助@Mike Wise