我想使用geom_point将数据绘制为点图。我的数据点重叠,因此我想使用抖动和透明度来增加可见性。现在,我还要在每个数据点上添加边框,以使读者更容易看到每个数据点。但是,由于存在Alpha,我的数据点似乎周围有光晕。这就是为什么我只想对填充使用alpha,对边框使用alpha = 0的原因。但是到目前为止,我还没有找到解决方案。我可以绘制两个geom_point,一个比另一个大一点,以在每个点周围创建一个带有alpha = 0的边界。但是因为我需要抖动,所以相同的数据点不会相互重叠。有谁知道如何解决这个问题?
这是我的代码:
ggplot(data=comp24, aes(x=spatial, y=lnfit, colour=spatial, fill=spatial, shape=spatial, backgroundColor="white", na.rm=T))+
geom_point(position=position_jitter(w=0.5), size=1.75, alpha=0.2, stroke=0.3)+
scale_colour_manual(name="spatial structure", values = c("black", "black", "black"))+
scale_fill_manual(name="spatial structure", values = c("black","black", "black"))
Run Code Online (Sandbox Code Playgroud)
和一些数据:
spatial focal competitor lnfit
low pco pch -1.79175947
low pco pch -1.49165488
low pco pch -0.98082925
low pco pch -1.97716269
intermediate pco pch -0.84729786
intermediate pco pch -0.48379695
intermediate pco pch -0.64574494
intermediate pco pch -0.51082562
intermediate pco pch 1.43693809
high pco pch 0.89608802
high pco pch 0.04879016 …Run Code Online (Sandbox Code Playgroud) 我想两者结合起来ggplots使用grid.arrange,只有一个普通的传说.我设法将这两个传说与一个小技巧结合起来,但是由于我从第一个图中删除了传说grid.arrange,当然这个传说更广泛.如何将两个绘图区域设置为相同的大小?而且我希望在两个图下方都有一个共同的x轴标签.有可能grid.arrange吗?我知道,之前已经回答了类似的问题,但我仍然是新手,R而且解决方案太复杂,或者我无法将它们与我的数据相匹配.
所以这是我的两个数据集:
testxy
SN strain est low up
1 A xy 11.6751 11.1480 12.2021
2 B xy 11.4211 11.1108 11.7314
3 C xy 2.6603 2.4291 2.8915
4 D xy 4.5503 4.2972 4.8034
testyz
SN strain est low up
5 A yz 22.1761 21.5136 22.8387
6 C yz 21.4829 21.0251 21.9408
7 B yz 19.3294 18.8950 19.7639
8 D yz 19.9990 19.3934 20.6047
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止的代码.它接近我想要的,但只是关闭:
p1<-ggplot(data=testxy, aes(colour=strain, x=SN, y=est))+
theme(panel.background = element_rect(fill …Run Code Online (Sandbox Code Playgroud)