5

我正在尝试将一组样本的几个特征绘制成各种美学。圆圈的边框颜色和大小就是其中之一。但是,如果我尝试为这些形状设置更大的基线边框,通过设置lwd=2,所有形状都会恢复到相同的大小并且图例消失了。我只想让圆圈有更大的边框,我该怎么做?

一个例子:

library(ggplot2)
testFrame <- data.frame(
  sizeVar=factor(c('a', 'a', 'a', 'a', 'b', 'b', 'b', 'b')),
  samples=rep(c('Sample1', 'Sample2'), times=4),
  features=c(rep('Feature1', times=4), rep('Feature2', times=4))
)
testPlot <- ggplot(data=testFrame, aes(x=samples, y=features))
testPlot + 
    geom_point(aes(size=sizeVar), pch=21, color='black', fill='gray') +
    scale_size_manual(values=c(9,4)) + theme_bw()
testPlot + 
   geom_point(aes(size=sizeVar), pch=21, lwd=3, color='black', fill='gray') + 
   scale_size_manual(values=c(9,4)) + theme_bw()

不带 lwd 的输出 在此处输入图像描述

4

1 回答 1

5

从您的图表开始:

> testPlot + 
    geom_point(aes(size=sizeVar), pch=21, color='black', fill='gray') +
    scale_size_manual(values=c(9,4)) + theme_bw()

列出元素:

> grid.ls()

GRID.gTableParent.162
  background.1-6-6-1
  spacer.4-3-4-3
  panel.3-4-3-4
    grill.gTree.126
      panel.background.rect.121
      panel.grid.major.y.polyline.123
      panel.grid.major.x.polyline.125
    geom_point.points.116
    panel.border.rect.118
  axis-l.3-3-3-3
    axis.line.y.zeroGrob.136
    axis
  axis-b.4-4-4-4
    axis.line.x.zeroGrob.130
    axis
  xlab.5-4-5-4
  ylab.3-2-3-2
  guide-box.3-5-3-5
  title.2-4-2-4

现在更改适当的元素:

> grid.edit("geom_point.points", grep=TRUE, gp=gpar(lwd=3))

在此处输入图像描述

于 2013-01-15T00:16:08.380 回答