如何在R中具有渐变颜色和形状的散点图的点周围放置边界?

如何在R中具有渐变颜色和形状的散点图的点周围放置边界?,r,plot,ggplot2,visualization,data-visualization,R,Plot,Ggplot2,Visualization,Data Visualization,我的目标是在散点图中的点周围放置边界,该散点图具有基于该值的渐变颜色和渐变形状(如以下脚本所示) 生成的绘图 我在这里发现了以下问题: 但实际上它们在我的情况下不起作用,因为我在上面粗体显示了两个原因,我想保留渐变颜色和渐变形状,但同时在点周围添加边框,使它们更易于欣赏 基本上,为了在ggplot中绘制轮廓颜色,我发现我们应该: 填满 边框颜色 考虑到这一点,当我采取相应行动如下 ggplot(PR_Grt100_REL_80, aes(Age, SC, col= PR, size=

我的目标是在
散点图
中的点周围放置边界,该散点图具有基于该值的渐变颜色渐变形状(如以下脚本所示)

生成的绘图

我在这里发现了以下问题:

但实际上它们在我的情况下不起作用,因为我在上面粗体显示了两个原因,我想保留渐变颜色和渐变形状,但同时在点周围添加边框,使它们更易于欣赏

基本上,为了在ggplot中绘制轮廓颜色,我发现我们应该:

  • 填满
  • 边框颜色
  • 考虑到这一点,当我采取相应行动如下

    ggplot(PR_Grt100_REL_80, aes(Age, SC, col= PR, size=PR)) + 
      geom_point(aes (fill= PR), colour = "black") +
      labs(list(title = "Title", y = "Var2", x = "Var1")) +
      xlim(0, 150) +
      scale_color_gradientn(colours = rainbow(7)) +
      scale_x_continuous(breaks=seq(0, 150, 12))
    
    我会得到下面的图表


    非常感谢您的帮助。

    我想您所需要做的就是使用一个符合
    填充
    颜色的形状。形状21:25具有此属性

    使用mtcars

    library(ggplot2)
    ggplot(mtcars, aes(mpg, hp, fill = cyl, size = cyl)) +
        geom_point(shape = 21, stroke = 2) + # change the thickness of the boarder with stroke
        scale_fill_gradientn(colours = rainbow(7)) +
        scale_size(range = c(2,6)) # only for example visibility
    

    没有数据很难进行测试,但您使用适用于颜色的
    scale\u color\u gradientn
    ,我认为使用
    scale\u fill\u gradientn
    是有意义的。同样在第一个aes中删除
    col=PR
    (因为您使用了fill-in
    geom_point
    @timat,谢谢,但它没有改变任何东西。关于数据,它是巨大的,不幸的是不可能将它们放在这里!您可以使用
    dput(head(df,10))只添加它的前10行
    或使用内置装置,如
    mtcars
    iris
    library(ggplot2)
    ggplot(mtcars, aes(mpg, hp, fill = cyl, size = cyl)) +
        geom_point(shape = 21, stroke = 2) + # change the thickness of the boarder with stroke
        scale_fill_gradientn(colours = rainbow(7)) +
        scale_size(range = c(2,6)) # only for example visibility