首页 > 解决方案 > 如何使用 R 中的绘图以仅 10 次方的对数刻度显示 y 轴

问题描述

我想在 R 中绘制一个绘图(使用绘图函数),在 Y 轴上使用对数刻度,在 y 轴上仅显示 10 的幂,风格像 10、100、1000... 可能吗?我不喜欢xant="n"yant="n"的解决方案,在此处解释,它抑制 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...

标签: rplotscaleaxislogarithm

解决方案


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

R中的对数刻度图


推荐阅读