ggplot2比例正方形

时间:2017-08-10 11:01:00

标签: r data-visualization ggplot2

我希望在R中制作某种比例正方形(缺少更好的名称)可视化示例:

Billion Dollar O-gram

关于如何在R中执行此操作的任何建议(最好是ggplot2)?

1 个答案:

答案 0 :(得分:8)

此类可视化称为树形图。适当地,您可以使用treemap包。您可以找到treemap here的详细教程,但我会向您展示基础知识。下面我将向您展示如何在ggplot2中创建树形图。

Treemap包

library(treemap)

cars <- mtcars
cars$carname <- rownames(cars)

treemap(
  cars,
  index = "carname",
  vSize = "disp",
  vColor = "cyl",
  type = "value",
  format.legend = list(scientific = FALSE, big.mark = " ")
)

The output of the treemap function

GGPLOT2

在github上还有一个用于使用ggplot2创建树形图的开发包。 Here's the repo用于安装软件包。

library(tidyverse)
library("ggfittext")
library("treemapify")

cars <- mtcars
cars$carname <- rownames(cars)
cars <- mutate(cars, cyl = factor(cyl))

ggplot(cars, aes(area = disp, fill = cyl, label = carname)) +
  geom_treemap() +
  geom_treemap_text(
    fontface = "italic",
    colour = "white",
    place = "centre",
    grow = TRUE
  )

enter image description here