我想在R中叠加一些密度图并知道有几种方法可以做到这一点,但是由于某种原因它们不适合我('sm'库不安装而且我已经足够了不了解大部分代码).我也尝试过plot和par,但我想使用qplot,因为它有更多的配置选项.
我有以这种形式保存的数据
library(ggplot2)
x <- read.csv("clipboard", sep="\t", header=FALSE)
x
V1 V2 V3
1 34 23 24
2 32 12 32
Run Code Online (Sandbox Code Playgroud)
我想创建3个重叠的图,其中V1,V2和V3的值使用灰色或灰色调来填充或使用点线或与图例类似的东西.你们能帮助我吗?
谢谢!
use*_*979 54
通常对于ggplot和多个变量,您需要从宽转换为长格式.我认为可以不用,但这就是包的工作方式
这是解决方案,我生成了一些数据(以不同点为中心的3个正态分布).我也做了一些直方图和箱形图,以备你想要的那些.alpha参数控制填充的透明度,如果使用颜色而不是填充,则只能获得轮廓
x <- data.frame(v1=rnorm(100),v2=rnorm(100,1,1),v3=rnorm(100,0,2))
library(ggplot2);library(reshape2)
data<- melt(x)
ggplot(data,aes(x=value, fill=variable)) + geom_density(alpha=0.25)
ggplot(data,aes(x=value, fill=variable)) + geom_histogram(alpha=0.25)
ggplot(data,aes(x=variable, y=value, fill=variable)) + geom_boxplot()
Run Code Online (Sandbox Code Playgroud)

为了完整起见,基于因子叠加图的最基本方法是:
ggplot(data, aes(x=value)) + geom_density(aes(group=factor))
Run Code Online (Sandbox Code Playgroud)
但正如@ user1617979提到的,aes(color=factor)并且aes(fill=factor)很可能在实践中更加有用.
| 归档时间: |
|
| 查看次数: |
47935 次 |
| 最近记录: |