【问题标题】:How to change the range of the x-axis to spread-out the data-points in R如何更改 x 轴的范围以分散 R 中的数据点
【发布时间】:2017-01-07 00:14:59
【问题描述】:

我正在尝试将名为 Canopy_index(响应变量)和 Lighting(解释变量)(下面的数据框)的两列绘制到散点图上。绘制观察结果时,数据点错误地主要绘制在图的左侧(下图),这可能是由于 x 轴上的设置不正确或需要更改基本图形设置。在数据框中,Lighting 列中的值通常介于 0 到

目标

问题是我想操纵和更改 x 轴值的范围(0 到 20.0 之间),以便以 0.5 的增量将观察结果分布在第 1 侧或 x 轴的整个宽度上(即 0、0.5、1.0、1.5.....20)。

我尝试了不同的方法,但输出结果始终相同。此外,图中还有一个虚假的异常值;但是,我无法在数据中检测到这个数据点。

如果有人可以提供帮助,那么非常感谢。

代码

    plot(Canopy_index~Lighting, 
         xaxt="n", pch=16, 
         col="blue", 
         xlab="Artificial Lighting",
         ylab="Canopy Index", 
         data=Distance_light)

 axis(1, at=seq(0, 20, by=0.5), las=2)

情节

数据

structure(list(Canopy_index = c(75, 85, 75, 35, 85, 95, 85, 65, 
75, 95, 75, 95, 85, 75, 85, 95, 75, 85, 85, 85, 75, 75, 85, 85, 
65, 85, 75, 85, 95, 95, 85, 55, 75, 95, 75, 95, 95, 65, 65, 55, 
95, 85, 85, 45, 85, 85, 35, 95, 85, 85, 35, 85, 45, 85, 85, 85, 
95, 85, 85, 75, 85, 35, 85, 85, 65, 65, 85, 45, 55, 95, 75, 95, 
45, 75, 75, 95, 95, 85, 75, 95, 75, 65, 85, 75, 75, 55, 75, 85, 
85, 85, 15, 75, 85, 85, 85, 95, 85, 85, 85, 75, 85, 85, 95, 65, 
75, 95, 55, 75, 85, 85, 85, 95, 55, 85, 75, 75, 85, 85, 85, 85, 
55, 75, 55, 75, 85, 75, 85, 85, 75, 85, 75, 95, 25, 95, 95, 25, 
75, 75, 85, 35, 55, 85, 65, 85, 75, 85, 85, 85, 75, 65, 85, 85, 
95, 65, 55, 95, 95, 85, 95, 85, 65, 55, 65, 55, 95, 75, 85, 85, 
35, 75, 75, 85, 65, 85, 65, 65, 95, 85, 95, 75, 75, 55, 95, 65, 
85, 65, 15, 35, 55, 95, 15, 15, 75, 65, 85, 5, 5, 35, 35, 85, 
65, 45, 35, 65, 65, 75, 65, 15, 75, 65, 45, 25, 65, 85, 45, 85, 
75, 15, 65, 45, 55, 45, 15, 45, 75, 65, 75, 65, 35, 95, 65, 35, 
35, 65, 45, 75, 35, 75, 85, 35, 55, 65, 85, 65, 65, 85, 55, 15, 
75, 65, 45, 45, 85, 55, 15, 85, 15, 95, 75, 5, 55, 15, 35, 45, 
85, 65, 65, 65, 65, 25, 85, 35, 55, 65, 75, 5, 45, 65, 15, 75, 
55, 65, 55, 35, 75, 65, 65, 85, 35, 65, 55, 75, 15, 55, 65, 75, 
55, 85, 35, 55, 55, 25, 75, 15, 55, 75, 75, 65, 55, 45, 75, 25, 
45, 95, 55, 75, 45, 25, 35, 55, 15, 15, 75, 35, 55, 55, 65, 45, 
65, 25, 55, 45, 65, 65, 25, 25, 65, 45, 95, 55, 25, 55, 85, 45, 
85, 15, 75, 65, 35, 75, 15, 55, 85, 35, 55, 45, 85, 45, 65, 55, 
75, 65, 85), Lighting = c(2.5, 20, 20, 20, 20, 20, 20, 20, 20, 
20, 5, 20, 7.5, 20, 20, 20, 20, 5.5, 15, 20, 5, 20, 20, 20, 20, 
20, 20, 7.5, 20, 20, 7.5, 20, 2.5, 20, 15, 20, 20, 20, 20, 20, 
20, 20, 20, 15, 20, 2.5, 7.5, 15, 20, 20, 20, 20, 7.5, 20, 2.5, 
20, 20, 20, 20, 20, 20, 20, 15, 20, 20, 2.5, 20, 20, 20, 15, 
15, 20, 20, 20, 20, 15, 15, 20, 2.5, 20, 2.5, 20, 20, 20, 20, 
20, 20, 15, 20, 20, 5, 5, 20, 20, 20, 20, 20, 7.5, 20, 20, 20, 
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 15, 7.5, 
20, 20, 20, 20, 20, 20, 2.5, 20, 20, 2.5, 20, 20, 15, 20, 20, 
20, 7.5, 15, 20, 7.5, 20, 20, 20, 20, 20, 15, 20, 20, 20, 20, 
20, 20, 20, 2.5, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 
15, 7.5, 2.5, 15, 20, 20, 15, 20, 7.5, 8, 20, 20, 20, 20, 20, 
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 
20, 15, 20, 20, 15, 20, 15, 20, 20, 7.5, 20, 20, 7.5, 20, 20, 
20, 20, 20, 20, 15, 20, 7.5, 20, 20, 20, 20, 20, 20, 20, 20, 
20, 20, 20, 20, 20, 15, 15, 75, 20, 20, 20, 20, 20, 20, 2.5, 
20, 20, 2.5, 15, 20, 20, 7.5, 15, 20, 20, 7.5, 20, 20, 20, 20, 
20, 15, 20, 20, 15, 20, 15, 7.5, 2.5, 20, 7.5, 20, 20, 7.5, 20, 
20, 20, 15, 20, 20, 20, 7.5, 20, 7.5, 20, 20, 20, 7.5, 8, 20, 
20, 20, 20, 20, 20, 20, 20, 7.5, 20, 20, 20, 20, 20, 7.5, 20, 
7.5, 20, 20, 20, 20, 20, 15, 20, 20, 2.5, 20, 20, 20, 20, 20, 
20, 20, 2.5, 7.5, 20, 7.5, 20, 2.5, 20, 20, 20, 15, 20, 20, 20, 
20, 20, 20, 20, 7.5, 20, 20, 20, 20, 20, 20, 20, 20, 20, 2.5, 
7.5, 2.5, 15, 20, 20, 15, 20, 20, 20, 20, 20, 15, 20, 20, 20, 
20, 20, 20, 20, 20, 15)), .Names = c("Canopy_index", "Lighting"
 ), row.names = c(NA, -363L), class = "data.frame")

【问题讨论】:

  • 第 230 行有异常值,这就是您的图表看起来像这样的原因

标签: r plot axis axis-labels


【解决方案1】:

第 230 行有一个异常值,这就是您获得该图的原因。

> Distance_light[Distance_light$Lighting == 75, ]
    Canopy_index Lighting
230           95       75

如果你删除它,它工作正常:

plot(Distance_light$Lighting[-230], 
     Distance_light$Canopy_index[-230],
     pch=16, 
     col="blue", 
     xlab="Artificial Lighting",
     ylab="Canopy Index",
     xaxt='n')

axis(1, at=seq(0, 20, by=0.5), las=2)

【讨论】:

  • 你也可以只设置xlim=c(0,20)
  • 谢谢Lysander 和eipi10。 75.0 应该是 7.5。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多