宗教信者数ランキング

society
ツリーマップ
ヒートマップ
日本での宗教ごとの信者数をヒートマップ(ツリーマップ)という可視化手法を用いて図示しました。
公開

2025年10月10日

更新日

2025年10月10日

グラフ

データ

data <- read.csv("./religion_data.csv")
head(data)
  group   subgroup           name population
1  神道 神社神道系       神社本庁   74696959
2  神道 神社神道系       神社本教      10000
3  神道 神社神道系     神社産土教      49979
4  神道 神社神道系 北海道神社協会      55500
5  神道 神社神道系   木曽御嶽本教      40557
6  神道 神社神道系     神道石切教      24655

データCSVをダウンロード(編集済)

作成スクリプト

library(tidyverse)
library(treemapify)
library(extrafont)

data <- read.csv("./religion_data.csv")

bgcolor <- "gray20"

plot <- ggplot(data, aes(area=population, fill=group, label=name, subgroup=group, subgroup2=subgroup),color=black) + 
  geom_treemap(start = "bottomleft", colour=bgcolor, size=2)+
  geom_treemap_subgroup_border(colour = bgcolor, size = 10) +
  geom_treemap_subgroup_text(place = "center", grow = TRUE, alpha = 0.2, colour = "black", family = "Noto Sans JP", padding.x = grid::unit(5, "mm"), padding.y = grid::unit(5, "mm")) +
  geom_treemap_subgroup2_border(colour = bgcolor, size = 5) +
  geom_treemap_text(place="center", color="white", grow=TRUE, family = "Yu Mincho", padding.x = grid::unit(5, "mm"), padding.y = grid::unit(5, "mm")) +
  scale_fill_manual(values=c("#006e54", "#8d6449", "#ce5242", "#65318e")) +
  labs(title = '日本の宗教別信者数') +
  theme(
    text = element_text(family = "Noto Sans JP"),
    plot.title = element_text(size= 60, color="white",hjust=.5, vjust=.5),
    legend.position = "none",
    panel.background = element_rect(fill = bgcolor),
    plot.background = element_rect(fill = bgcolor)
  )

ggsave("religion_treemap.png", plot=last_plot(), height=30, width=40)
library(tidyverse)
library(treemapify)
library(extrafont)

data <- read.csv("./religion_data.csv") %>%
  filter(group=="神道")

bgcolor <- "gray20"

plot <- ggplot(data, aes(area=population, fill=subgroup, label=name, subgroup=subgroup),color=black) + 
  geom_treemap(start = "bottomleft", colour=bgcolor, size=2)+
  geom_treemap_subgroup_border(colour = bgcolor, size = 10) +
  geom_treemap_subgroup_text(place = "center", grow = TRUE, alpha = 0.2, colour = "black", family = "Noto Sans JP", padding.x = grid::unit(5, "mm"), padding.y = grid::unit(5, "mm")) +
  geom_treemap_text(place="center", color="white", grow=TRUE, family = "Yu Mincho", padding.x = grid::unit(5, "mm"), padding.y = grid::unit(5, "mm")) +
  scale_fill_manual(values=c("#ce7a42ff", "#ce9d42ff", "#ce5242")) +
  labs(title = '日本の宗教別信者数(神道)') +
  theme(
    text = element_text(family = "Noto Sans JP"),
    plot.title = element_text(size= 60, color="white",hjust=.5, vjust=.5),
    legend.position = "none",
    panel.background = element_rect(fill = bgcolor),
    plot.background = element_rect(fill = bgcolor)
  )

ggsave("religion_treemap_shinto.png", plot=last_plot(), height=30, width=40)
library(tidyverse)
library(treemapify)
library(extrafont)

data <- read.csv("./religion_data.csv") %>%
  filter(group=="仏教")

bgcolor <- "gray20"

plot <- ggplot(data, aes(area=population, fill=subgroup, label=name, subgroup=subgroup),color=black) + 
  geom_treemap(start = "bottomleft", colour=bgcolor, size=2)+
  geom_treemap_subgroup_border(colour = bgcolor, size = 10) +
  geom_treemap_subgroup_text(place = "center", grow = TRUE, alpha = 0.2, colour = "black", family = "Noto Sans JP", padding.x = grid::unit(5, "mm"), padding.y = grid::unit(5, "mm")) +
  geom_treemap_text(place="center", color="white", grow=TRUE, family = "Yu Mincho", padding.x = grid::unit(5, "mm"), padding.y = grid::unit(5, "mm")) +
  scale_fill_manual(values=c("#320852ff", "#65318e", "#78318eff", "#3f318eff", "#8e3164ff", "#313f8eff", "#8e3164ff")) +
  labs(title = '日本の宗教別信者数(仏教)') +
  theme(
    text = element_text(family = "Noto Sans JP"),
    plot.title = element_text(size= 60, color="white",hjust=.5, vjust=.5),
    legend.position = "none",
    panel.background = element_rect(fill = bgcolor),
    plot.background = element_rect(fill = bgcolor)
  )

ggsave("religion_treemap_bukkyo.png", plot=last_plot(), height=30, width=40)
library(tidyverse)
library(treemapify)
library(extrafont)

data <- read.csv("./religion_data.csv") %>%
  filter(group=="キリスト教")

bgcolor <- "gray20"

plot <- ggplot(data, aes(area=population, fill=subgroup, label=name, subgroup=subgroup),color=black) + 
  geom_treemap(start = "bottomleft", colour=bgcolor, size=2)+
  geom_treemap_subgroup_border(colour = bgcolor, size = 10) +
  geom_treemap_subgroup_text(place = "center", grow = TRUE, alpha = 0.2, colour = "black", family = "Noto Sans JP", padding.x = grid::unit(5, "mm"), padding.y = grid::unit(5, "mm")) +
  geom_treemap_text(place="center", color="white", grow=TRUE, family = "Yu Mincho", padding.x = grid::unit(5, "mm"), padding.y = grid::unit(5, "mm")) +
  scale_fill_manual(values=c("#006e54", "#005d6eff")) +
  labs(title = '日本の宗教別信者数(キリスト教)') +
  theme(
    text = element_text(family = "Noto Sans JP"),
    plot.title = element_text(size= 60, color="white",hjust=.5, vjust=.5),
    legend.position = "none",
    panel.background = element_rect(fill = bgcolor),
    plot.background = element_rect(fill = bgcolor)
  )

ggsave("religion_treemap_kirisuto.png", plot=last_plot(), height=30, width=40)
library(tidyverse)
library(treemapify)
library(extrafont)

data <- read.csv("./religion_data.csv") %>%
  filter(group=="諸教")

bgcolor <- "gray20"

plot <- ggplot(data, aes(area=population, fill=group, label=name, ,subgroup=subgroup, subgroup2=name),color=black) + 
  geom_treemap(start = "bottomleft", colour=bgcolor, size=2)+
  geom_treemap_subgroup2_border(colour = bgcolor, size = 10) +
  geom_treemap_subgroup_text(place = "center", grow = TRUE, alpha = 0.2, colour = "black", family = "Noto Sans JP", padding.x = grid::unit(5, "mm"), padding.y = grid::unit(5, "mm")) +
  geom_treemap_text(place="center", color="white", grow=TRUE, family = "Yu Mincho", padding.x = grid::unit(5, "mm"), padding.y = grid::unit(5, "mm")) +
  scale_fill_manual(values=c("#8d6449")) +
  labs(title = '日本の宗教別信者数(諸教)') +
  theme(
    text = element_text(family = "Noto Sans JP"),
    plot.title = element_text(size= 60, color="white",hjust=.5, vjust=.5),
    legend.position = "none",
    panel.background = element_rect(fill = bgcolor),
    plot.background = element_rect(fill = bgcolor)
  )

ggsave("religion_treemap_shokyo.png", plot=last_plot(), height=30, width=40)
トップに戻る