R语言 ggplot2的PCA图

y3bcpkx1  于 2023-05-04  发布在  其他
关注(0)|答案(3)|浏览(214)

我使用ggplot 2的geom_point函数在R中绘制了一个PCA图。
我想有一个黑色的边界周围的点。
这是我给geom_point颜色参数之前的代码和图片

所以在这里我想介绍边界周围的点,我用颜色参数和以下是图片

你可以看到这些点变成了黑色。如何解决这个问题,并得到黑色边框周围的点。
谢谢你!

6kkfgxo0

6kkfgxo01#

它与colorgeom_point()shape有关。
原来,ggplot2geom_point()color是点的边框颜色。这就是为什么第二个代码行呈现的结果。
但是,使用fill指定特定的shape时,可以使用黑色border渲染彩色填充点。
下面是一个iris数据的例子。

library(ggplot2)
iris |> 
  ggplot(aes(x=Sepal.Length, y=Sepal.Width))+
  geom_point(aes(fill=Species), color="black",shape=21, size=7,
             stroke =1)

创建于2023-05-01使用reprex v2.0.2
此外,您可以在此处检查点的符号。

ggpubr::show_point_shapes()
#> Scale for y is already present.
#> Adding another scale for y, which will replace the existing scale.

创建于2023-05-01使用reprex v2.0.2

kqhtkvqz

kqhtkvqz2#

您希望将 condition 变量Map到点的填充美学,并使颜色为黑色。为此,您还需要为点选择不同的形状,例如shape = 21

library(ggplot2)

ggplot(mtcars, aes(wt, mpg, fill = factor(cyl))) +
  geom_point(shape = 21, color = 'black')

创建于2023-05-01使用reprex v2.0.2

vsdwdz23

vsdwdz233#

您可以在图中使用两个geom_point图层,并且形状应该设置在shape=1shape=21等上。下面是一个例子:

library(ggplot2)
df <- data.frame(
  x=rnorm(10),
  y=rnorm(10),
  id=sample(c('red','green','blue'),10,replace = T)
)
ggplot(df, aes(x=x, y=y)) + 
  geom_point(aes(colour=id), size=12, show.legend = F) + 
  geom_point(shape = 21, size = 12, colour = "black")

输出为:

相关问题