Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为R中的不同点集设置自己的颜色和形状比例_R_Ggplot2_Legend - Fatal编程技术网

为R中的不同点集设置自己的颜色和形状比例

为R中的不同点集设置自己的颜色和形状比例,r,ggplot2,legend,R,Ggplot2,Legend,我试图在一个绘图中绘制两组点,我希望每个点都有自己的颜色比例和形状比例。当我添加第二个颜色比例和形状比例时,第一个颜色和形状比例被替换 我的目标是,每个点集都有自己的图例,显示其颜色和形状 我的数据帧(df)如下所示: variable measurements set1 set2 a 1 2 3 a 2 3 4 b 3 4 5 b 4

我试图在一个绘图中绘制两组点,我希望每个点都有自己的颜色比例和形状比例。当我添加第二个颜色比例和形状比例时,第一个颜色和形状比例被替换

我的目标是,每个点集都有自己的图例,显示其颜色和形状

我的数据帧(
df
)如下所示:

variable measurements set1 set2
a        1            2    3
a        2            3    4
b        3            4    5
b        4            5    6
c        5            6    7
c        6            7    8    
d        7            8    9
d        8            8    10
e        9            10   11
e        10           11   12
这是我的密码:

p<-ggplot()+
  geom_point(data = df,aes(x = measurements,y = set1,shape=variable),colour="red",size=3)+
  #scale_shape_manual(name="set1",
  #                   labels=c("A","B","C","D","E"),
  #                   values = c(0, 1, 2, 4, 8)) +
  #scale_colour_manual(name="set1",
  #                    labels=c("A","B","C","D","E"),
  #                    values = c("red", "red", "red", "red","red")) +
  geom_point(data = df,aes(x = measurements,y = set2,shape=variable), colour="green",size=3)+
  #scale_shape_manual(name="set2",
  #                   labels=c("A","B","C","D","E"),
  #                   values = c(22, 16, 24, 23, 11)) +
  #scale_colour_manual(name="set2",
  #                    labels=c("A","B","C","D","E"),
  #                    values = c("green", "green", "green", "green","green")) 

p

p您需要将数据转换成不同的格式
试试这个

我可能会补充你,你可能想做方面

ggplot(rookie.df.m, aes(x=factor(measurements), y = value, shape = variable)) +geom_point()+ 
    scale_fill_manual(values = c("set1" = "red","set2" = "green"))+scale_shape(solid = FALSE)+theme_bw() +facet_wrap(~group)
下面是情节:

或者改为在组“变量”上刻面(我最喜欢这个,因为它可以让您轻松地看到度量值是如何聚集的)

    ggplot(rookie.df.m, aes(x=factor(measurements), y = value, 
    shape = variable)) +
    geom_point(aes(colour = group)) +
    scale_fill_manual(values = c("set1" = "red","set2" = "green")) +
    scale_shape(solid = FALSE) + theme_bw() +facet_wrap(~variable)
下面是情节:
谢谢您的回复。
ggplot(rookie.df.m,aes(x=测量值,y=值,shape=变量))
对我来说非常合适。但我遇到了另一个问题,那就是如何更改两个图例的名称、两个图例的关键名称以及两个图例的相对位置。不客气。这里有一个参考资料,您好,您非常擅长使用R,我将仔细阅读链接。@infominer,如何为每个gro添加
geom_smooth
向上的
ggplot(rookie.df.m, aes(x=factor(measurements), y = value, shape = variable)) +geom_point()+ 
    scale_fill_manual(values = c("set1" = "red","set2" = "green"))+scale_shape(solid = FALSE)+theme_bw() +facet_wrap(~group)
    ggplot(rookie.df.m, aes(x=factor(measurements), y = value, 
    shape = variable)) +
    geom_point(aes(colour = group)) +
    scale_fill_manual(values = c("set1" = "red","set2" = "green")) +
    scale_shape(solid = FALSE) + theme_bw() +facet_wrap(~variable)