- 已编辑
各位大神,在看R in action时,试着以ggplot2做里面的图,在做geom_density时图例不好做,具体如下。
数据准备
library(tidyverse)
my_data <- as.data.frame(state.x77[,c('Murder','Population', 'Income', 'Illiteracy', 'Frost')])
fit <- lm(Murder ~ Population + Income + Illiteracy + Frost, data = my_data )
z <- rstudent(fit)
ww <- rnorm(length(z), mean = mean(z),sd = sd(z))
做图
ggplot(NULL, aes(x = z, y = ..density..)) + geom_histogram(color = 'black',fill = 'white', bins = 13) +
geom_density(color = 'red', linetype = 2,lwd = 2) +
geom_density(aes(x = ww), color = 'blue', linetype = 3,lwd = 2)
这幅图添加不上图例。
将数据转为长数据。
my_data<- as.data.frame(cbind(z,ww))
my_data<-gather(my_data)
head(my_data)
再次做图
ggplot(my_data,aes(x=value))+
geom_histogram(data = filter(my_data,key=='z'),aes(y=..density..),bins =13,fill='white',col='black')+
geom_density(aes(color=key,linetype = key), lwd = 2)
上面这幅图的问题是图例是方形的,应该是与geom_density有关,能不能改成颜色+线型的方式。