议会图

作者

[编辑] 郑虎;

[审核] .

注记

Hiplot 网站

本页面为 Hiplot Parliament 插件的源码版本教程,您也可以使用 Hiplot 网站实现无代码绘图,更多信息请查看以下链接:

https://hiplot.cn/basic/parliament?lang=zh_cn

议会图是一种形似议会坐席,以点代表一个数据,从而更加灵活地展示各组所占份额比的数据处理方式。

环境配置

  • 系统: Cross-platform (Linux/MacOS/Windows)

  • 编程语言: R

  • 依赖包: ggpol; ggplot2

# 安装包
if (!requireNamespace("ggpol", quietly = TRUE)) {
  install.packages("ggpol")
}
if (!requireNamespace("ggplot2", quietly = TRUE)) {
  install.packages("ggplot2")
}

# 加载包
library(ggpol)
library(ggplot2)

数据准备

数据载入为分组及其对应数值。

# 加载数据
data <- read.delim("files/Hiplot/134-parliament-data.txt", header = T)

# 查看数据
head(data)
  group value
1    G1   200
2    G2    46
3    G3    92
4    G4    80
5    G5   150

可视化

# 议会图
p <- ggplot(data) +
  geom_parliament(alpha = 1, aes(seats = value, fill = group), color = "black") +
  coord_fixed() +
  scale_fill_discrete(name = "group", labels = unique(data$group)) +
  scale_fill_manual(values = c("#E64B35FF","#4DBBD5FF","#00A087FF","#3C5488FF",
                                "#F39B7FFF")) +
  ggtitle("Parliament Plot") +
  theme_void() +
  theme(legend.position = "bottom",
        plot.title = element_text(hjust = 0.5))

p
图 1: 议会图

不同颜色表示不同分组,每一个点代表一个数据。它是由很多点组成半环形,最小的份额在议会图里可以用一个点来表示。