暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R语言绘图|华夫图(waffle)

377

点击关注了解更多哦

本期主要介绍如何利用R语言绘制华夫图(waffle plot) 。华夫图类似于华夫饼,以方格来表示数量,可用于表示数量、占比等的分布状况。如下图所示:

1、数据准备

在R语言中,华夫图可直接传入数值向量。

install.packages("waffle")
library(waffle)

# Vector
x1 <- c(40, 31, 20, 5)
names(x1) <- c("G1""G2""G3""G4")
#x <- c(G1 = 40, G2 = 31, G3 = 20, G4 = 5)
x1
#G1 G2 G3 G4 
#40 31 20  5 

2、图形绘制

2.1 基础图形

waffle(x1, rows = 8) 

2.2 参数调整

waffle(x1, rows = 8, legend_pos = "bottom", title = "waffle plot", size = 2, 
       equal = TRUE, flip = FALSE, reverse = FALSE, colors = c("red""blue""yellow""purple")) 

2.3 多图合并

w1 <- waffle(c(A = 10, B = 20), rows = 3)
w2 <- waffle(c(A = 15, B = 15), rows = 3)
w3 <- waffle(c(A = 20, B = 10), rows = 3)
# Combine the plots
iron(w1, w2, w3)

3、应用案例

3.1 进度完成状况

假设某项任务已完成78%,还剩22%尚未完成,对当前进度进行可视化。

x2 <- c(78, 22)
names(x2) <- c("Finished""Unfinished")
waffle(x2, rows = 5, legend_pos = "bottom", title = "Task progress", size = 2, 
       equal = TRUE, flip = FALSE, reverse = FALSE, colors = c("navy""grey")) 

3.2时间分布状况

假设2023年已过去40天,还有325天,对当前时间分布状况进行可视化。

x3 <- c(40, 325)
names(x3) <- c("Finished""Unfinished")
waffle(x3, rows = 16, legend_pos = "bottom", title = "Task progress in 2023", size = 2, 
       equal = TRUE, flip = FALSE, reverse = FALSE, colors = c("navy""grey")) 

附:waffle()参数

waffle(parts, rows = 10, keep = TRUE, xlab = NULL, title = NULL,
  colors = NA, size = 2, flip = FALSE, reverse = FALSE, equal = TRUE,
  pad = 0, use_glyph = FALSE, glyph_size = 12, legend_pos = "right")

4、其他

更多内容可关注微信公众号【日常分享的小懒猫】


如有帮助请多多点赞哦!

文章转载自日常分享的小懒猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论