【问题标题】:How to show y axis in log scale with only powers of 10 using plot in R如何使用 R 中的绘图以仅 10 次方的对数刻度显示 y 轴
【发布时间】:2021-03-28 11:48:49
【问题描述】:

我想在 R 中绘制一个绘图(使用 plot 函数),在 Y 轴上使用对数刻度,在 y 轴上仅显示 10 的幂,样式为 10、100、 1000……有可能吗?我不喜欢 xant="n"yant="n" 的解决方案,here 解释说,它抑制 x 轴或 y 轴,因为如果我使用如下代码:

plot(x33,y33,log = "x",xaxt="none",xlab =xlab.text ,ylab = "Signal Density (a.u.)",main=expression('Relaxation times distribution - H'[2]*'O'),
     las=1,cex.main=1,font.main=2,font.lab=2, cex.lab=0.9, cex.axis=0.7,type = "l",lwd=1.5,
     col="red",ylim = c(0,2000))

axis(1, 10^seq(0L,6L,2L),cex.axis=0.7)

它向我显示轴为 1e+00,1e+02...我不喜欢这种格式。如果我对 seq() 而不是 10^seq(0L,6L,2L) 使用相同的代码,我怎么能说它只打印 10 的幂?我知道 xant 和 yant 是直接的解决方案,但我不知道如何使用它们,以便我可以打印 10、100、1000...

【问题讨论】:

  • 如果您想对基础图的轴进行精细控制,除了在原始 plot() 调用中抑制轴然后指定您希望它如何显示之外,我不知道有任何其他方法与axis()。您能否详细说明您“不喜欢”该解决方案的哪些方面?
  • @GregorThomas 你是对的。我修改了帖子以明确我的意思。

标签: r plot scale axis logarithm


【解决方案1】:

这篇文章似乎回答了您的问题。在本例中,对数刻度应用于 x 轴,因此只需将其更改为 y 轴即可。

Logarithmic scale plot in R

【讨论】:

  • 您好,谢谢,但正如我在已修改的帖子中所写,我不太喜欢 1e+00,1e+02 等格式... :( 我想说它打印 10, 100,1000...
  • 使用axis,您可以使用labelsat 参数在您想要的位置准确指定您想要的标签。
猜你喜欢
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-20
  • 1970-01-01
  • 2020-11-19
相关资源
最近更新 更多