写在前面。
条形图一般用来展示不同分类下(x轴)某个数值型变量的取值(y轴)。注意,条形的高度,有时是变量的频数
,有时是变量的取值本身
,需要注意区分。
条形图
我没有按照书中的章节顺序,而是根据条形高度映射数据类型
、图形位置
和图形元素
进行了分类整合,使脉络更清晰,知识点更集中。
同时随着ggplot2包的更新,书中的一些用法也已经不适用了,因此会做一些更正。
所使用的一些示例数据需要安装加载包gcookbook,同时也需要加载ggplot2。
if(!require(gcookbook) ) install.packages("gcookbook")
library(gcookbook)
library(ggplot2)
另外,ggplot2绘图的常用基本语句需要知道:
ggplot(data = , aes(x= , y = ) ) + geom_xxxx() + ...
3. 图形元素
变量到图形的映射
,图形的位置
调整好之后,为了让图形更加美观和个性化,还有一些图形元素
可以调节。
在条形图部分,我们要学习的包括,着色
、条状的宽度间距
和标签
。
接下来分别学习。
3.2 条状的宽度间距
如何调整条状的宽度和簇状条形图条状之间的间距呢?
使用的示例数据是pg_mean
数据集:
> pg_mean
group weight
1 ctrl 5.032
2 trt1 4.661
3 trt2 5.526
通过设定geom_bar
语句中的width
参数,在0-1
之间取值,调整bar
的宽窄。
ggplot(data = pg_mean, aes(x= group,y = weight) ) +
geom_bar( stat = "identity" , width = 0.5 )
[图片上传失败...(image-4b0aaf-1694884030172)]
ggplot(data = pg_mean, aes(x= group,y = weight) ) +
geom_bar( stat = "identity" , width = 0.9 )
[图片上传失败...(image-aff082-1694884030172)]
簇状条形图的组间间距
默认是0
,如果要增加间距,可以将width
设置得小一些
,而position_dodge
的取值大于width
:
默认情况下:
ggplot(data = cabbage_exp, aes(x= Date,y = Weight, fill =Cultivar ) ) +
geom_bar( stat = "identity" , position = "dodge" )
[图片上传失败...(image-8f3e18-1694884030172)]
增加组间距之后:
ggplot(data = cabbage_exp, aes(x= Date,y = Weight, fill =Cultivar ) ) +
geom_bar( stat = "identity" , width = 0.5, position = position_dodge(0.7) )
[图片上传失败...(image-45c10-1694884030173)]
以上。
网友评论