大家好!欢迎关注可视化艺术!本公众号由生信师兄创办并持续更新!为了方便各位小伙伴更好的学习各种可视化技术!本公众号旨在从各种常用可视化软件出发,带大家更好的完成自己想要的Figure制作!
创作不易!您的点赞和在看是对师兄最大的支持和鼓励!
先对这一系列做个简单说明:本系列旨在通过R语言编程,实现数据的各种可视化!其中主要用到的R包为ggplot2,不会再讲解R语言自带的基础函数,如plot、barplot等!因为师兄凭借多年的实战经验,可以很明确的告诉大家,R语言可视化用的最多的R包就是ggplot2,只要你掌握了ggplot2,作图的效果完全可以吊打那些R自带的函数,所以没必要再把所有函数再学一遍!
当然了!如果有小伙伴想要了解更全面的内容:欢迎关注**【生信师兄】-- R语言绘图系列**。
柱状图简介
柱状图可能是最常用的一种数据可视化。它们通常用于显示数值(在y轴上),用于显示不同类别的数值(在x轴上)。例如,柱状图可以用来显示四种不同商品的价格。柱状图通常不适合显示一段时间内的价格,因为时间是一个连续的变量。
基础柱状图
-
ggplot基础语法解析:
ggplot(data, aes(X,Y)) + geom_bar()
data
:数据,注意data必须为数据框格式;X
:X轴对应的变量名;Y
:Y轴对应的变量名;geom_bar
:绘图函数,类似的还有geom_point、geom_bin、geom_boxplot、geom_density
等等
# stat="bin"(默认):柱高为各个分类数目;
ggplot(mtcars,aes(factor(cyl))) + geom_bar()
# stat="identity"柱高分类所占比例。
ggplot(BOD,aes(factor(Time),demand)) + geom_bar(stat = "identity")
再详细解释一下stat参数:stat表示X和Y的对应状态;
- bin:用于X为一个分类变量,Y对应的是X每一类的个数;故只需要指定X即可;例如上图1,只指定了X,Y根据X的类别个数自动识别;
- identity:这个就很好理解了,就是X和Y一一对应,需要指定X和Y;如上图2;
柱状图修改颜色和分组
通过fill
指定填充颜色,color
指定描边颜色:
library(gcookbook)
# 修改柱状图的填充(fill)和描边(color):
ggplot(pg_mean,aes(group, weight)) +
geom_bar(stat = "identity",fill = "lightblue", color = "black")
通过分组设置颜色:
# 也可通过分组变量设置颜色:
ggplot(cabbage_exp,aes(Date, Weight, fill = Cultivar)) +
geom_bar(position = "dodge",stat = "identity")