用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

Python自学    -  云代码空间

—— python自学——怎么学习python,自学python要多久?python+人工智能+人工智能+人工智能+大数据分析

一行 Python 代码轻松构建树状热力图(一种可视化技术:treemap)

2022-04-17|83阅||

摘要:今天和大家一起学习一种可视化技术:构建树状热力图treemap。 树形图易于可视化,且易于被人理解。树状图通过展示不同大小的矩形,以传达不同大小的数据量,一般认为,较大的矩形意味着占总体的一大部分,而较小的矩形意味着整体的一小部分。在本文中将和大家一起学习如何使用Squarif

今天和大家一起学习一种可视化技术:构建树状热力图treemap。

树形图易于可视化,且易于被人理解。树状图通过展示不同大小的矩形,以传达不同大小的数据量,一般认为,较大的矩形意味着占总体的一大部分,而较小的矩形意味着整体的一小部分。在本文中将和大家一起学习如何使用Squarify库在 Python 中构建树形图。


介绍

树状图使用嵌套在一起的不同大小的矩形来可视化分层数据。每个矩形的大小与其代表的整体数据量成正比。这些嵌套的矩形代表树的分支,因此得名。除了尺寸外,每个矩形都有代表独特类别的独特颜色。树状图广泛用于从金融机构到销售组织的行业。树形图最早是在1990 年代早期由美国马里兰大学人机交互实验室的 Ben Shneiderman 教授发明的。这种可视化背后的想法是在固定空间中按大小比较数量。现在,我们将看看如何实际构建词云。

在这里插入图片描述

佛罗里达州的树状图

使用 Squarify 构建树状图

Python 中的,可以使用 Squarify 直接构建树状图。且只需要一行代码squarify.plot(data)即可轻松构建。

在这里插入图片描述

1. 安装必要的库

!pip install squarify

 

2. 导入必要的库

import matplotlib.pyplot as plt import squarify

 

3. 创建随机数据

随机生成一个值列表,这些值将作为数据传递到我们的绘图中。
data = [500, 250, 60, 120] 

 

4. 绘制树状图

使用squarify.plot() 方法构建树状图。这里将随机数据变量data作为此 squarify.plot 方法的参数。此外,附加一行修饰代码

plt.axis('off')  隐藏 树状图 的轴。
squarify.plot(data)
plt.axis('off')
plt.show()

 

5. 把它们放在一起

import matplotlib.pyplot as plt import squarify
data = [500, 250, 60, 120]
squarify.plot(data)
plt.axis('off')
plt.show()

 

在执行此代码时,我们得到:

在这里插入图片描述

每次执行此代码时,它都生成一组随机颜色的嵌套矩形。

使用附加参数

借助 .plot() 方法的参数,可以在树状图中添加更多的修饰。可以通过明确指定属性来控制树形图的颜色、标签和填充。

1. 指定树状图的颜色

import matplotlib.pyplot as plt import squarify
sizes = [500, 250, 120, 60]
color = ['red', 'green', 'blue', 'orange']
squarify.plot(sizes,color=color)
plt.axis('off')
plt.show()

 

在执行此代码时,我们得到:
在这里插入图片描述

2.给树状图添加标签

不同的标签值可以通过将列表传递到 squarify.plot() 的标签属性来显式添加标签。这将覆盖现有标签或将标签添加到我们的树状图

中(如果不存在)。标签将按照.plot()所传递的列表中的相同顺序被添加到树状图中。

import matplotlib.pyplot as plt import squarify
labels = ['A', 'AB', 'ABC', 'ABCD']
sizes = [500, 250, 120, 60]
color = ['red', 'green', 'blue', 'orange']
squarify.plot(sizes,color=color, label = labels)
plt.axis('off')
plt.show()

 

在执行此代码时,我们得到:

在这里插入图片描述

3. 树状图中的pad

可以在树状图中添加pad,将树状图中的每个具体彼此分离,这将有助于更好地区分矩形。当有大量类别或矩形时,这很有用。可

以通过将pad参数设置为True来调用。

import matplotlib.pyplot as plt import squarify
labels = ['AB', 'A', 'ABC', 'ABCD']
sizes = [500, 250, 120, 60]
color = ['red', 'green', 'blue', 'orange']
squarify.plot(sizes,color=color, label = labels, pad = True)
plt.axis('off')
plt.show()

 

在执行代码时,我们得到:
在这里插入图片描述

写在最后

由此看来,构建树形图可谓是小菜一碟。除了squarify 库,树状图还可以使用 Python 中的其他几个库来构建。如比较流行的

plotly库。在今天的次条推文中介绍了其应用案例,感兴趣的小伙伴可以看看。

import plotly_express as px import plotly.graph_objects as go
px.treemap(names = name, parents = parent)
go.Figure(go.Treemap(labels = name, parents = parent,))

 

当然,还有许多 BI 工具可用于更加方便简单地构建树状图。

有时,树状图中可能会出现歧义。如果有多个具有相同数量(或矩形大小)和相同颜色深浅的类别,则导致用户最终很难区分它

们。所以在构建树状图时,必须始终考虑所涉及的类别数量和颜色映射。

顶 1踩 0收藏
文章评论
    发表评论

    个人资料

    • 昵称: Python自学
    • 等级: 资深程序员
    • 积分: 1208
    • 代码: 101 个
    • 文章: 14 篇
    • 随想: 1 条
    • 访问: 22 次
    • 关注

    最新提问

      站长推荐