如何减少R“两个”类型图中线和点之间的填充

时间:2016-07-19 22:29:17

标签: r plot

我试图在R中绘制一系列点,并使用type="b"作为绘图选项。然而,在点和它们之间的线之间存在大量填充(空白空间),以至于线在某些点之间完全消失。她的照片如下:

example of disappearing lines

我尝试使用cex绘图选项缩小点数,但这没有用,因为它只会改变点的大小,而不会改变这些点之间的点之间的线。我不知道这是否有所不同,但我使用的符号是pch=1

我有兴趣知道是否可以减少这种填充,以及你是如何做到这一点的。我对使用type=o作为绘图选项不感兴趣。

2 个答案:

答案 0 :(得分:4)

您不想使用type="o"的任何特殊原因?这似乎是获得所需效果的最简单方法:

# Fake data
set.seed(10)
dfs = data.frame(x=1:10, y=rnorm(10))

plot(y~x,data=dfs, type="o", pch=21, bg='white')

pch=21是一个圆形标记,如pch=1,但同时包含边框和填充。我们使用bg="white"将填充设置为白色,以“掩盖”通过点标记的线条。

enter image description here

您还可以使用cex更改标记大小以避免重叠并使附近点之间的线条可见:

set.seed(10)
dfs = data.frame(x=1:100, y=cumsum(rnorm(100)))

plot(y~x,data=dfs, type="o", pch=21, bg="white", cex=0.6)

enter image description here

答案 1 :(得分:3)

使用名为dfs的数据框这似乎提供了一种机制,通过调整白点和黑点的'cex'值,将周围的“白色光环”调整为您想要的任何光点大小:< / p>

plot(y~x,data=dfs, type="l")
  with(dfs, points(x,y, pch=16,col="white",cex=1.4))
  with(dfs, points(x,y,cex=1) )