繁体   English   中英

R中带有plotly的树形图

[英]Treemap plot with plotly in R

我在 R 中使用 plotly 绘制树形图时遇到问题。这是我的数据:

structure(list(items = c("Actifs", "Inactifs", "En emploi", "Chômeurs", 
"Halo du chômage", "Hors halo du chômage", "Recherche un emploi sans être disponible", 
"Ne recherche pas d'emploi mais est disponible", "Ne recherche pas d'emploi et n'est pas disponible"
), parents = c("", "", "Actifs", "Actifs", "Inactifs", "Inactifs", 
"Halo du chômage", "Halo du chômage", "Halo du chômage"), size = c("60", 
"40", "40", "20", "10", "30", "2", "5", "3")), row.names = c(NA, 
-9L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x000002129c6c1ef0>)

这是我的代码:

g4EMP <- plot_ly(
  data = data,
  type = "treemap",
  labels = ~items,
  values = ~size,
  parents = ~parents)

这是情节: 在此处输入图像描述

由于添加的项目是 100% 的父母,我不明白为什么它不使用完整的父母方。 例如“En emploi”+“Chômeurs”=“Actifs”。 项目“Actifs”的两个方块都使用全长而不是全宽。 对于“Inactif”项,行为是相反的:正方形取全宽,但不是全长。

如何使树形图方块使用完整空间?

提前非常感谢。

这里有几个选项可以实现您正在寻找的东西。 我已将stringr::str_wrap添加到对象中,以便它们将字符串换行,而不是缩小文本。 根据您要对地图执行的操作,您可能希望增加、减少或删除这部分代码。

对于这个情节的初始版本,它不填充的原因是你没有告诉它。 您需要参数branchvalues

(g4EMP <- plot_ly(
  data = df1,
  type = "treemap",
  labels = ~items %>% stringr::str_wrap(width = 15),
  branchvalues = "total",
  values = ~size,
  parents = ~parents)) 

在此处输入图像描述

如果这些值只是用来填充空间,您可能会发现这样效果更好。 您实际上可以在此处阅读文本。 当您添加设置字体大小的value时,也是如此。

(g4EMP <- plot_ly(
  data = df1,
  type = "treemap",
  labels = ~items %>% stringr::str_wrap(width = 15),
  #values = ~size,
  parents = ~parents)) %>% 
  layout(uniformtext = list(minsize = 10))

在此处输入图像描述

当然,由于您可以选择树形图的任何元素来仔细查看,您可能不必担心字符串换行或字体大小。

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM