可视化学习笔记(一):ggplot2:条形图


安装、加载包

#if (!require(ggplot)) (install.packages("ggplot2"))
#if (!require(gcookbook)) (install.packages("gcookbook"))
library(ggplot2) 
library(gcookbook) #使用数据集

1、基本语法

geom_bar(data, aes=(x, y), stat= )
  • 默认stat为'bin'(frequency)
  • 如果需要改变y-axis,使用stat='identity'参数即可对y参数映射
  • 需要注意x的类型是离散还是连续

1.1堆积条形图/分组条形图

  • 当在aes映射中使用fill参数填充分类变量,默认出现堆积条形图
ggplot(diamonds, aes(x= , y= , fill= ) +
    geom_bar(stat='identity')
  • 使用position='dodge'选项则修改为分组条形图
ggplot(diamonds, aes(x= , y= , fill= ) +
    geom_bar(stat='identity', position='dodge')

1.2频数条形图

  • 如果想使用频数条形图,则只需要映射x参数即可
  • 但对于x参数需要注意:
    1. x=discrete时,绘制条形图
    2. x=continuous时,绘制直方图

1.3百分比堆积条形图

  • 需要先对每组条形对应的数据进行百分比转化
  • 然后再通过填充按堆积条形图步骤操作即可

2、调色

2.1颜色填充

颜色的填充主要使用color和fill映射参数:

  • color主要是用于给外部涂色
  • fill主要是用于内部填充颜色

对于分类变量与连续变量,着色的效果会有所不同

2.2颜色指定

如果对于填充的颜色不满意,可以使用:

scale_fill_brewer()函数
scale_fill_manual()函数

scale_fill_brewer(..., guide=T)
scale_fill_manual(values=c(...), guide=T) #通过values来指定颜色
  • 填充图例可以使用guide=F参数来删除(方法不唯一
  • 并且需要映射时则要在aes参数内进行,重新设定则不需要

3、宽度调整

  • geom_bar中使用width=#来指定条形宽度(max=1)
  • 对于分组条形图则需要通过position参数,并且通过position_dodge(#)选项来完成:
geom_bar(..., position=position_dodge(#)

4、标签与图例

4.1标签添加

添加标签使用geom_text()函数:

geom_text(aes(x=, y=, label= ), vjust/hjust=#)
  • x和y参数如果已经在前面图层进行映射,则需要指定label参数即可
  • 并且通过vjust和hjust来调整标签的位置:
    • (vertical)vjust:调整上下位置
    • (horizontal)hjust:调整水平位置
  • 手动调整标签位置会使得出现遮挡标签或标签溢出的情况,需要手动设定y轴的范围
    • 通常的做法是让y轴加上一个参数,使坐标轴自动扩展

4.2图例

对于图例进行调整可以使用guides函数:

guides(....)

更多细节可以参考??ggplot2::guides

你可能感兴趣的:(可视化学习笔记(一):ggplot2:条形图)