如何在R中使用渐变颜色和形状在散点图周围放置边框?

时间:2017-01-11 15:04:47

标签: r plot ggplot2 visualization data-visualization

我的目标是将边框放在scatter plot中的点周围,其中渐变颜色渐变形状基于值(如您所见)以下脚本)。

ggplot(filname, aes(Va1, Var2, col= PR, size=PR)) +
  geom_point() +
  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))

** PR is the third Var in my data. 

生成的情节 enter image description here

我在这里找到了以下问题:

但实际上它们在我的情况下不起作用,因为我在上面加粗的两个原因,我想保持渐变颜色渐变形状但同时添加点周围的边框,使它们更加明显。

基本上,为了在ggplot中制作轮廓颜色,我发现我们会:

  1. 填写
  2. 边框颜色
  3. 当我采取以下行动时考虑到这一点

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

    我会得到以下图表!

    enter image description here

    非常感谢任何帮助?

1 个答案:

答案 0 :(得分:3)

我认为您需要做的就是使用尊重fillcolor的形状。形状21:25具有此属性http://sape.inf.usi.ch/quick-reference/ggplot2/shape

使用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

enter image description here