【问题标题】:In R base plot, move axis label closer to axis在 R 基础图中,将轴标签移近轴
【发布时间】:2015-07-27 17:53:41
【问题描述】:

我删除了 y 轴上的标签,因为只有相对数量才是真正重要的。

w <- c(34170,24911,20323,14290,9605,7803,7113,6031,5140,4469)
plot(1:length(w), w, type="b", xlab="Number of clusters",
     ylab="Within-cluster variance",
     main="K=5 eliminates most of the within-cluster variance",
     cex.main=1.5,
     cex.lab=1.2,
     font.main=20,
     yaxt='n',lab=c(length(w),5,7), # no ticks on y axis, all ticks on x
     family="Calibri Light")

但是,抑制这些刻度标签会在 y 轴标签(“簇内方差”)和 y 轴之间留下大量空白。有没有办法把它推回去?如果我以某种方式将(不可见的)刻度标签设置为 inside 轴,轴标签会沿着轴固定吗?

【问题讨论】:

  • 尝试将ylab 排除在plot 之外,并将其放入axis,而不是使用一些放置选项。 (无法立即回忆这些选项。)即plot(...); axis(2, ...)

标签: r plot axis-labels


【解决方案1】:

尝试在您的plot 调用中设置ylab="" 并使用title 手动设置y 轴的标签。使用line 可以调整标签的位置,例如:

plot(1:length(w), w, type="b", xlab="Number of clusters", ylab="",
     main="K=5 eliminates most of the within-cluster variance",
     cex.main=1.5,
     cex.lab=1.2,
     font.main=20,
     yaxt='n',lab=c(length(w),5,7), # no ticks on y axis, all ticks on x
     family="Calibri Light")

title(ylab="Within-cluster variance", line=0, cex.lab=1.2, family="Calibri Light")

请阅读?title了解更多详情。

【讨论】:

  • 啊,伙计,我正要发布这个确切的东西。我把它都写出来了,但我试图弄清楚为什么 Windows 上的 R 不允许我更改字体。无论如何,干得好。
  • @sgibb 非常感谢你教我title 可以用于标签(不仅仅是设置main)。我最终使用了两个title 语句,一个将ylab 偏移line=1,另一个使xlab 更接近line=2.2。非常感谢。
【解决方案2】:

调整mgp,见?par

title(ylab="Within-cluster variance", mgp=c(1,1,0), family="Calibri Light",cex.lab=1.2)

【讨论】:

  • 将轴标题移近调整mgp[1]。默认值为 3。
  • 更详细的设置可以通过调整mgp参数来完成。 mgp=c(3,1,0)一般设置3个对象,分别是:A)title轴标题的边线(默认3),B)labels轴标签的边线(默认1),C)line边线用于轴线(默认为 0)。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 2021-05-19
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
相关资源
最近更新 更多