棒棒糖图,介于柱形图与散点图之间,之所以这么说,是因为它能以柱形图与散点图的数据作图,即两列定量变量(数字),或一列定量变量(数字)一列分类变量(字符串);
有趣的是,棒棒糖图其实不是由一个函数绘制的,而是由两个函数叠加成的,即使用geom_point()绘制点,使用geom_segment()绘制线;
1 | library(ggplot2) |
1、开始正式作图
1 | plolli <- ggplot(data,aes(x=var1,y=var2))+ |
着重解释一下geom_segment()函数的用法,如下:
1 | geom_segment(x,y,xend,yend,color,size,linetype,alpha) |
其中,x=xstart,y=ystart,xend=xend,yend=yend,表示x与y的起始位置与终止位置;
2、优化散点的大小,形状,颜色,填充,透明度;
1 | plolli <- ggplot(data,aes(x=var1,y=var2))+ |
3、优化线条的大小,线型,颜色,透明度,其中,linetype数值为[0:6],0 = blank, 1 = solid, 2 = dashed, 3 = dotted, 4 = dotdash, 5 = longdash, 6 = twodash;
1 | plolli <- ggplot(data,aes(x=var1,y=var2))+ |
4、优化主题;
1 | plolli <- ggplot(data,aes(x=var1,y=var2))+ |
5、转换为水平版本;
1 | plolli <- ggplot(data,aes(x=var1,y=var2))+ |
6、改变基线位置,默认为0;
1 | plolli <- ggplot(data,aes(x=var1,y=var2))+ |
7、对数据分组,并对散点填充不同颜色;
1 | plolli <- ggplot(data,aes(x=var1,y=var2,fill=var4))+ |
8、分组,并对线填充不同颜色;
1 | plolli <- ggplot(data,aes(x=var1,y=var2,fill=var4))+ |
9、排序;
1 | data <- data.frame(var1,var2,var3,var4) |
10、克利夫兰点图,比较每个实体中的两个点的关系;
1 | plolli <- ggplot(data,aes(x=var1,y=var2,fill=var4))+ |
克利夫兰点图,若不进行排序,会显得图片杂乱无章,因此,最好先排序后作图。