Sim*_*ang 2 r ggplot2 kernel-density
代码:
require(ggplot2)
set.seed(0)
xvar <- rnorm(100)
ggplot(data.frame(xvar), aes(xvar)) + geom_density(fill="lightblue") + scale_y_log10()
Run Code Online (Sandbox Code Playgroud)
该图是这样的:

如何使图形阴影位于密度估计的右侧(即下方)?
问题是stat_density默认情况下填充在密度和转换y=0数据的线之间。因此,改变 y=0 线的变换将成为此类问题的受害者。我个人认为这是 中的一个错误,尽管由于图形语法专家可能认为 y 变换的密度没有意义,所以该错误可能不会引起太多关注。ggplot2
一个非常笨拙的解决方法是手动添加一个偏移量..density..,您必须显式调用该偏移量,然后更改中断以使其看起来像您没有做任何奇怪的事情。
require(ggplot2)
require(scales)
set.seed(0)
xvar <- rnorm(100000)
quartz(height=4,width=6)
ggplot(data.frame(xvar), aes(x=xvar, y=log10(..density..)+4)) +
geom_density(fill='lightblue') +
scale_y_continuous(breaks=c(0,1,2,3,4),
labels=c('0.0001', '0.001', '0.01', '0.1','1'), limits=c(0,4),
name='density')
quartz.save('![StackOverflow_29111741_v2][1].png')
Run Code Online (Sandbox Code Playgroud)
该代码生成此图:

| 归档时间: |
|
| 查看次数: |
1801 次 |
| 最近记录: |