Python 中的 TreeMap - 垂直和水平

问题描述

我在下面的代码中简单地在 Python 中创建了一个树状图。任何人都可以帮助我使用以下代码示例仅在树状图或水平中创建所有垂直矩形。

library(stringr)

str_extract(names_list,'([[:upper:][:punct:][:space:]])+(?=\\s[A-Za-z])')
#[1] "MICKEY MOUSE"     "DAFFY DUCK"    "GARFIELD,ODI AND JOHN" 
#    "BUGS-BUNNY AND FRIENDS"

Current sample graph in Python

它应该看起来像水平或垂直堆叠条形图。但是在 Python 中使用 Treemap 创建的任何选项。因为我想进一步修改它。以下是建议的外观。

所需的垂直输出

Desired vertical output

所需的水平输出

Desired horizontal output

感谢您的帮助。

解决方法

您可以使用 norm_xnorm_y 指定矩形的形状以适合数据(默认为 100 x 100 正方形,因此名称为 squarify) :

水平:

squarify.plot(sizes=volume,norm_x=100,norm_y=10,label=labels,color=color_list,alpha=0.7)

垂直:

squarify.plot(sizes=volume,norm_x=10,norm_y=100,alpha=0.7)

有关详细信息,请参阅 documentation

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...