R 在ggplot2的散点图中对三个条件进行编码

R 在ggplot2的散点图中对三个条件进行编码,r,ggplot2,R,Ggplot2,我想制作一个ggplot2散点图(geom_point),其中点编码三种不同的特征。所以我想到了使用形状,颜色和填充(使用可以填充的形状21到25)。虽然绘图本身看起来不错,但图例没有显示填充颜色(所有点都显示为黑色)。这是一个MWE,请注意carb的黑色符号: p <- ggplot(mtcars, aes(wt, mpg, shape = factor(gear), fill = factor(carb), colour = factor(cyl

我想制作一个
ggplot2
散点图(
geom_point
),其中点编码三种不同的特征。所以我想到了使用
形状
颜色
填充
(使用可以填充的形状21到25)。虽然绘图本身看起来不错,但图例没有显示填充颜色(所有点都显示为黑色)。这是一个MWE,请注意
carb
的黑色符号:

p <- ggplot(mtcars, aes(wt, mpg, shape = factor(gear),
                    fill = factor(carb), colour = factor(cyl)))
p + geom_point(size = 3) + scale_shape_manual(values = 21:25)

p我认为这是可行的,将填充图例中的形状更改为21:

p + geom_point(size = 3) + 
    scale_shape_manual(values = 21:25)+
      scale_fill_discrete(guide=guide_legend(override.aes=list(shape=21)))

我不确定,但我认为您无法将
color
fill
映射到
geom\u point
中的不同变量。无论如何,你不应该这样做。@Roland映射本身确实有效(就像在MWE中一样),只是图例不起作用。是的,我确实需要在一个图中编码(至少)三个特征,它不是一个有意义的数字的图,而是一个显示实验设计的图像,类似于这个:。但是,如果您对如何编写第三个功能有任何建议,我很乐意知道。
ggplot(mtcars,aes(wt,mpg,shape=factor(gear),color=factor(carb))+geom_point(size=3)+facet_grid(.~cyl)
将是一个更好的绘图。@Roland请查看提供的Web链接。再说一次:我不打算画有意义的数字,而是一个图版设计。微量滴定板不能是平面的。非常感谢,看起来很完美!你知道有没有可能使点周围的彩色线变粗,使它们在绘图上更清晰?我只是想建议一下。我认为调整线宽(
lwd
)会有帮助。不幸的是,在
geom_point
中设置
lwd
没有任何作用。这似乎是
lwd
故事的答案:谢谢你的帮助!