ggplot2绘图
基本语法:
geom_XXXx(参数)——见R语言实战 p407-408
几何函数常见选项(参数)
color:对点、线、填充区域的边界进行着色
fill:对填充区域着色
alpha:颜色的透明度
linetype:图案的线条 (从0(完全透明)到1(不透明))
size:点的尺寸和线的宽度
shape:点的形状
position:绘制条形图或点等对象的位置(条形图: dodge:分组的条形图并排;stacked:堆叠条形
图;fill:垂直堆叠分组条形图且高度相等
点: jitter:减少点重叠)
binwidth:直方图高度
notch:表示方块图是否为缺口(TRUE、FALSE)
sides:地毯图的安置("b"=底部;“t”=顶部;“r”=右部;"bl"=左下部)
width:箱线图的宽度
1、点图
library(ggplot2)
> p <- ggplot(data=mpg, mapping=aes(x=cty, y=hwy))
> p + geom_point()
p <- ggplot(mpg,
aes(x=cty, y=hwy, colour=factor(year)))
> p + geom_point()
增加平滑曲线
> p + geom_point() + stat_smooth()
2、直方图
直方图
> P <- ggplot(mpg,aes(x=hwy))
p + geom_histogram()
3、条形图
条形图
> p <- ggplot(mpg, aes(x=class))
p + geom_bar()
> class2 <- mpg$class; class2 <- reorder(class2,class2,length)
> mpg$class2 <- class2
> P <- ggplot(mpg, aes(x=class2))
> p + geom_bar(aes(fill=class2))
幵立方式
> P + geom_bar(position='dodge')
叠加方式
> p+geom_bar(position='stack')
相对比例
> p+geom_bar(position='fill')
分面显示
> p+ geom_bar(aes(fill=class2))+facet_wrap(~year)
4、饼图
p <- ggplot(mpg, aes(x = factor(1), fill = factor(class))) + geom_bar(width = 1)
p + coord_polar(theta = "y")
5、箱线图
p <- ggplot(mpg, aes(class,hwy,fill=class))
p+geom_boxplot()
6、小提琴图
p + geom_violin(alpha=0.3,width=0.9)+
geom_jitter(shape=21)
7、二维直方图
p + stat_bin2d()
8、密度图
>p + stat_density2d(aes(fill = ..level..), geom="polygon") +
coord_cartesian(xlim = c(0, 1.5),ylim=c(0,6000))+
scale_fill_continuous(high='red2',low='blue4')
9、风向风速玫瑰图
随机生成100次风向,并汇集到16个区间内 dir <- cut_interval(runif(100,0,360),n=16)
#随机生成100次风速,并划分成4种强度 mag <- cut_interval(rgamma(100,15),4) sample <- data.frame(dir=dir,mag=mag)
#将风向映射到X轴,频数映射到Y轴,风速大小映射到填充色,生成条形图后再转为极坐标形式即可 p <- ggplot(sample,aes(x=dir,y=..count..,fill=mag)) p + geom_bar()+ coord_polar()