[英]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.