R 防止ggplot2在图例中打印矢量

R 防止ggplot2在图例中打印矢量,r,ggplot2,ggbiplot,R,Ggplot2,Ggbiplot,我用ggbiplot生产了一个biplot。我想要不同因子水平的不同颜色的点,以及代表样本大小的点的大小。让我抓狂的问题是尺寸向量c(1,2,2,1,3,2,2,1,3,3,2,1,1,1,2,3,3,2,2,2,3,1的一部分印在图例中: 我用过: library(ggbiplot) pplot <- function(pcaMatrix, cultures, sample.size = NA, FIRST=1, SECOND=2, ELLIPSE.PROB=0.68, SCALE =

我用ggbiplot生产了一个biplot。我想要不同因子水平的不同颜色的点,以及代表样本大小的点的大小。让我抓狂的问题是尺寸向量
c(1,2,2,1,3,2,2,1,3,3,2,1,1,1,2,3,3,2,2,2,3,1
的一部分印在图例中:

我用过:

library(ggbiplot)
pplot <- function(pcaMatrix, cultures, sample.size = NA, FIRST=1, SECOND=2, ELLIPSE.PROB=0.68, SCALE = FALSE, LABELS=NULL){
  PCA <- prcomp(na.omit(pcaMatrix), scale. = SCALE)
  plot <- ggbiplot(PCA, obs.scale = 1, var.scale = 1, labels=LABELS, ellipse = {Ellipse.prob>0}, groups=cultures, circle = FALSE, choices=c(FIRST,SECOND), ellipse.prob=ELLIPSE.PROB)
  plot <- plot + geom_point(aes_string(colour=cultures, size = sample.size)) #+ scale_size_identity() 
  plot <- plot + scale_color_discrete(name = '')
  plot <- plot + scale_size_continuous(labels = c("200+", "500+", "1000+", "2000+", "4000+"))
  plot <- plot + theme(legend.direction = 'horizontal', legend.position = 'top')
  plot <- plot + theme(aspect.ratio=1)
  print(plot)
}

pplot(grav, grav.cultures, grav.sample, 1,2, ELLIPSE.PROB=0)
修改实际样本大小以手动控制点的大小:

> head(grav.sample)
[1]  360  986  599  457 1222  899

grav.sample[grav.sample>=200 & grav.sample < 500] <- 1
grav.sample[grav.sample>=500 & grav.sample<1000] <- 2
grav.sample[grav.sample>=1000 & grav.sample<2000] <- 3
grav.sample[grav.sample>=2000 & grav.sample<4000] <- 4
grav.sample[grav.sample>=4000 & grav.sample<8000] <- 5

> head(grav.sample)
[1] 1 2 2 1 3 2
>头部(重力样本)
[1]  360  986  599  457 1222  899

grav.sample[grav.sample>=200&grav.sample<500]=500&grav.sample您是否尝试过通过
scale\u size\u continuous(name=“My title”,…)
?@Roman有效,我刚刚使用了
scale\u size\u continuous(name=“,…)更改图例标题的名称
,太棒了!你知道为什么要临时命名吗?你得到了一个没有名字的参数的
deparse
-d版本。试试:
deparse(c(1,2,3))
你试过通过
scale\u size\u continuous(name=“My title”,…)更改图例标题的名称吗
?@Roman成功了,我刚刚使用了
缩放大小连续(name=“”,…)
,太棒了!你知道为什么要临时命名吗?你得到了一个没有名字的参数的
deparse
-d版本。试试:
deparse(c(1,2,3))
> head(grav.sample)
[1]  360  986  599  457 1222  899

grav.sample[grav.sample>=200 & grav.sample < 500] <- 1
grav.sample[grav.sample>=500 & grav.sample<1000] <- 2
grav.sample[grav.sample>=1000 & grav.sample<2000] <- 3
grav.sample[grav.sample>=2000 & grav.sample<4000] <- 4
grav.sample[grav.sample>=4000 & grav.sample<8000] <- 5

> head(grav.sample)
[1] 1 2 2 1 3 2