【发布时间】:2013-10-23 22:52:03
【问题描述】:
我有一个数据框mdata,其中包含我在 R 中的 BoxPlot 上绘制的列 variable 和 value。我在 Y 轴上绘制 log10(value),在 X-轴上绘制变量轴。我想更改 Y 轴上的标签,使其显示原始值而不是 log10(值)。
>mdata
ID variable value
SJ5444_MAXGT coding 17455
SJ5426_MAXGT coding 17961
HR1383_MAXGT coding 17579
HR5522_MAXGT coding 17797
CH30041_MAXGT coding 20099
SJ5438_MAXGT coding 17467
我希望 Y 轴范围从 min(mdata$value) 到 max(mdata$value),间隔为 10000。但我无法这样做。
以下是我的代码:
boxplot(log10(as.numeric(value))~variable,data=mdata,yaxt="n",border="red",main="Boxplot: Seattle Seq Annotation")
axis(side=2,labels=seq(min(mdata$value),max(mdata$value),10000),cex.axis=0.65,tck=-0.02,at=seq(min(mdata$value),max(mdata$value),by=10000))
我试图找出这里的问题,但并不明显。任何帮助将不胜感激。
【问题讨论】:
-
side=2 创建 Y 轴。而且我认为当您有任何文本列时将 data.frame 转换为矩阵是一个非常糟糕的主意。
-
对不起,我想创建 Y 轴,我已经编辑了错字。
-
把
as.matrix也拿出来。 -
您忘记在
at=中记录值。快速查看的方法就是使用axis(2)
标签: r boxplot axis-labels