【问题标题】:Uneven axis in base r plot基础 r 图中的轴不均匀
【发布时间】:2019-10-24 19:34:33
【问题描述】:

我想绘制一个轴与附加图像相似的图。我对附件的 X 轴特别感兴趣。

通常,显示例如 0 到 10 的轴。我的数据位于 x 轴的 5-7 处。所以我希望我的25% x 轴显示0-5,其余的75% 显示5-10。但我不是指 ggpplot 之类的东西。

我正在使用 base R. 并且图像也是使用 R base 创建的,我猜。

我应该如何制作像示例一样的情节?谢谢

感谢您的帮助。我添加了图像,希望这次它会显示出来。

这是一个很好的技巧,但想象一下这是我的数据,

X

Y

我想要一个图表,其中 x 变量显示我的湖泊名称,y 变量显示值。我需要一个从 0 到 1.3 的 y 轴(因为我需要在图表上的每个点上添加 SD 和一些标签;所以它需要足够大)。但可以看出,我没有低于 ~ 0.70 的 y 值。所以我希望我的 y 变量的 0 到 0.70 之间的区域只形成我的 y 轴的一小部分,比如总数的 15%。我想这样做有两个原因。 a) y 轴从 0 开始,b) 因为我的 y 值的差异很小,我希望这些值所在的实际区域显示在 y 轴的较大部分,以便可以看到差异。

为了更清楚地说明这一点,我添加了我所做的第二张图片。我只需要在此图上的 y 轴上添加 0 到 0.7,但在 0.7 之前仅显示一个间隔(可能带有 1、2 或 3 个标签和刻度)

再次感谢各位。你真了不起。

【问题讨论】:

  • “附加图片”好像不见了。
  • 我添加了更多信息
  • 我已经为你修复了图像 - 如果我把它们弄混了请回复
  • 根据您的编辑更新了我的答案。

标签: plot axis-labels


【解决方案1】:

根据问题的编辑编辑我的帖子。

人们使用逐渐变化的轴,例如您展示的图像,这可能是记录的 x 轴。要考虑的第一个问题是,如果您希望您的 y 轴逐渐变化,还是分段变化。我为你绘制了两​​种方式。

X <- c("A", "B", "C", "D", "E", "F", "G", "H") #Basically names of some lakes
Y <- c(0.891338, 0.962008, 0.929528, 1.034015, 0.883051, 0.887387, 0.795245, 0.862037)

# continuously scaling
plot(1:length(X), exp(Y), # try changing exp() to other base for more or less scaling.
     ylim = exp(c(0, 1.3)), xaxt = "n", yaxt = "n",
     xlab = "Lakes", ylab = "Something")

# add x-axis label
axis(1, 1:length(X), X)
# add y-axis label
axis(2, exp(seq(0,1.3, by = 0.1)),
            seq(0,1.3, by = 0.1), las =1)

# Piece-wise scale
plot(1:length(X), Y, 
     ylim = c(0.5, 1.3), # you could adjust 0.5 to give you more or less room to show values between 0 to 0.7 
     xaxt = "n", yaxt = "n", # we will add a and y-axis label later
     xlab = "Lakes", ylab = "Something")

# add x-axis label
axis(1, 1:length(X), X)
# add y-axis label 
# note that 0 to 0.7 part is "fake". We just add labels to 0.5-0.7 interval, which you could adjust to being bigger or smaller.
axis(2, c(seq(0.5,to = 0.7, length.out=8), seq(0.8,1.3, by = 0.1)), 
     c(seq(0, 0.7, length.out = 8), seq(0.8,1.3, by = 0.1)), las = 1)

abline(h = 0.7, lty = 3) # maybe add a line to indicate that axis changes here.

【讨论】:

  • 我添加了更多信息。
  • 非常感谢。这就是我想要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-27
  • 1970-01-01
  • 2021-07-30
  • 2018-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多