【问题标题】:How to decrease padding between lines and points in R "both" type plots如何减少 R“两者”类型图中的线和点之间的填充
【发布时间】:2016-07-19 22:29:16
【问题描述】:

我尝试在 R 中绘制一系列点,并使用 type="b" 作为绘图选项。但是,点和它们之间的线之间有很多填充(空白),以至于线在某些点之间完全消失了。她是一张照片:

我尝试使用 cex 绘图选项使点更小,但这无济于事,因为它只会改变点的大小,而不是这些点之间的起点和终点之间的线的位置。我不知道这是否有区别,但我使用的符号是pch=1

我很想知道是否可以减少这种填充,以及如何减少。我对使用 type=o 作为绘图选项不感兴趣。

【问题讨论】:

  • 只是出于好奇,您为什么对type="o" 不感兴趣。在基本图形中,这似乎是获得所需内容的最直接方式。
  • @eipi10:我不知道bg 选项,如果没有这个选项,它看起来一点也不接近我想要的。我发现 ?par 有点难以找到帮助,因为有无数个参数,而且描述它们的空间很小。如果其中一个人只是说基本无害,我不会感到惊讶。
  • 好吧,至少它是可数无限的。对于点标记,您可以执行?pch 并向下滚动以查看可用的内容(您也可以使用Unicode symbols 获得更大的标记选项调色板)。我同意帮助文件。当我第一次开始使用 R 时,我发现帮助文件有些神秘。随着我对 R 的工作原理有了直觉,它们慢慢变得更加有用。

标签: r plot


【解决方案1】:

您不想使用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" 将填充设置为白色,以“掩盖”穿过点标记的线条。

您还可以使用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)

【讨论】:

    【解决方案2】:

    使用名为 dfs 的数据框,这似乎提供了一种机制,可通过调整白点和黑点的“cex”值来将周围的“白晕”调整为您想要的任何大小的晕:

    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) )
    

    【讨论】:

      猜你喜欢
      • 2020-07-12
      • 2015-03-25
      • 2023-03-09
      • 1970-01-01
      • 2011-09-12
      • 2019-06-06
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多