2011-01-20 44 views
3

我试图用“对”来绘制一些散点图对。 我的数据框看起来像:用R对绘制散点图,对数刻度中包含零的数据

>e 
    X Y Z 
    0 0 0 
    2 3 4 
    0 3 4 
    3 3 3 

这里是一个完全标准的数据框。

我使用它来绘制一次我的散点图,没有任何幻想:

pairs(~X+Y+Z, data=e, log="xy") 

它的伟大工程,但它不绘制标签。但是,如果我在命令中删除了log =“xy”,那么标签就会很好地绘制出来。所以我想这与我希望我的散点图处于对数级的事实有关。

所以我的问题是我该怎么做? 我应该在手前删除所有带零的线(你怎么做?) 是否有一个魔术,让我有日志=“xy”和我的散点图标记?

感谢您的帮助, 请让我知道,如果它不明确。

回答

7

你忽略了这一点(在那里我叫你的数据帧DF):

R> pairs(~X+Y+Z, data=df, log="xy") 
There were 30 warnings (use warnings() to see them) 

,如果你看一下这三个警告,你会看到

  • 你不能绘制包含零的数据在对数级别(我猜你知道为什么)

  • log不是公认的参数pairs()

所以,如果你想对在日志中绘制,您可能需要花费自己的日志(,要么添加少量小量或使用变换像log(1 + x)和数据调用pairs()

编辑最简单的可能是pairs(~X+Y+Z, data=log(1+DF))

+0

这是一个奇怪的现象,虽然。它实际上*不会*在日志范围内绘制数据,一切看起来都很好,除了省略标签。 `plot(df,log =“xy”)`会产生类似的结果,其中`log`(推测是?)是plot()的一个有效参数。 – 2012-10-08 20:19:25