美文网首页R可视化和ggplot2
《R数据可视化手册》学习笔记3---条形图(5)百分比堆积条形图

《R数据可视化手册》学习笔记3---条形图(5)百分比堆积条形图

作者: RSP小白之路 | 来源:发表于2023-09-14 08:48 被阅读0次

写在前面。

条形图一般用来展示不同分类下(x轴)某个数值型变量的取值(y轴)。注意,条形的高度,有时是变量的频数,有时是变量的取值本身,需要注意区分。

条形图

我没有按照书中的章节顺序,而是根据条形高度映射数据类型图形位置图形元素进行了分类整合,使脉络更清晰,知识点更集中

同时随着ggplot2包的更新,书中的一些用法也已经不适用了,因此会做一些更正。

所使用的一些示例数据需要安装加载包gcookbook,同时也需要加载ggplot2

if(!require(gcookbook) ) install.packages("gcookbook")
library(gcookbook)
library(ggplot2)

另外,ggplot2绘图的常用基本语句需要知道:

ggplot(data = , aes(x= , y = ) ) + geom_xxxx() + ...

2. 图形位置

ggplot语句中,通过映射一个分类变量给aes语句的fill参数,根据不同的变量值给条形分配不同的填充颜色,然后设定不同的位置排列,分为簇状(并排排列)堆积两种。

2.3 百分比堆积条形图

这部分还有必要讲一下百分比堆积条形图,它实质就是堆积条形图,不过我们需要进行一下数据预处理

使用plyr包中的ddply函数和transform函数以Date为切割变量对weight变量进行标准化

library(plyr)
ce <- ddply(cabbage_exp, "Date", transform, 
      percent_Weight = Weight/sum(Weight)*100)
ce
  Cultivar Date Weight        sd  n         se Cultivar_ percent_Weight
1      c39  d16   3.18 0.9566144 10 0.30250803       c39       58.45588
2      c52  d16   2.26 0.4452215 10 0.14079141       c52       41.54412
3      c39  d20   2.80 0.2788867 10 0.08819171       c39       47.37733
4      c52  d20   3.11 0.7908505 10 0.25008887       c52       52.62267
5      c39  d21   2.74 0.9834181 10 0.31098410       c39       65.08314
6      c52  d21   1.47 0.2110819 10 0.06674995       c52       34.91686

然后我们使用预处理后的数据进行绘图

ggplot(data = ce, aes(x= Date ,y = percent_Weight, 
                               fill = Cultivar_ ) )  + 
  geom_bar( stat = "identity" ) 

[图片上传失败...(image-d6ceae-1694738866937)]


以上,就是条形位置相关知识。

相关文章

网友评论

    本文标题:《R数据可视化手册》学习笔记3---条形图(5)百分比堆积条形图

    本文链接:https://www.haomeiwen.com/subject/kwximdtx.html