2013-12-18 23 views
6

我通过R图形食谱工作我的方式,跑进这套代码:“..”在ggplot的“fill = .. density ..”中指的是什么?

library(gcookbook) 
library(ggplot2) 

p <- ggplot(faithful, aes(x = eruptions, y = waiting)) + 
    geom_point() + 
    stat_density2d(aes(alpha=..density.., fill=..density..), geom="tile", contour=FALSE) 

它运行很好,但我不明白的..之前和之后density什么是指。我似乎也无法在书中找到它。

+2

'..density..','..count..'和其他引用的变量是由ggtplo2使用stat_xxx函数实时创建的。 http://stackoverflow.com/questions/14570293/special-variables-in-ggplot-count-density-etc – baptiste

回答

5

在R中可能以..开头的变量名称,并且与其他变量的处理方式相同。尝试创建一个你自己的。

..x.. <- 1:5 

ggplot2往往造成追加为了绘制情节额外的列到您的数据帧。 (在ggplot2术语中,这是“强化数据”)。ggplot2对这些强化列使用命名约定..something..

这部分是因为使用..something..不太可能与数据集中的现有变量冲突。以此作为暗示,您不应该使用该模式来命名数据集中的列。

stat_density*函数使用..density..来表示x变量的密度。其他强化变量名称包括..count..

+0

我瘦了,而不是更多的标志来选择一个名为“密度”在本地data.frame中创建的变量通过'?stat_bin'。甚至可以使用变量'density'或'counts',但试图使用名为'..density..'的变量将失败。 –

+0

@DWin我已经完全重写了答案,以便它不再乱七八糟。 –

+0

除了根据?stat_bin页面(以及我有限的经验),实际的名字是'density','count','ncount'和'ndensity'。我确实同意为“设防”标志拼写的选择是为了避免与用户名相冲突。 –

相关问题