使用Python和Plotly Express绘制树状图2025年3月4日 | 阅读 9 分钟 引言TreeMap 是一种分层可视化,其中数据中每个嵌套矩形的大小都与某个统计数据相关联。Python 的 Plotly Express 包使得交互式 Treemap 构建更加容易,从而实现了更自然的と数据探索和展示。如果还没有安装,使用 Plotly Express 生成 Treemap 的第一步是安装该库。然后,您可以通过传入数据和必需的参数(例如 {path} 用于分层级别和 `values` 用于大小指标),使用 DataFrame 来执行 `px.treemap` 方法。为了改进数据分析和可视化,最终的图表将是一个交互式 Treemap,允许用户探索不同层次结构中的数据链接。 Plotly 中的 TreeMapPlotly 中的 Treemap 使用嵌套矩形提供分层数据的可视化表示。数据度量反映在每个矩形的大小中,从而可以以一种可理解的方式探索数据分布和关系。Plotly 的 `plotly.express` 库中的 `px.treemap` 函数可以轻松创建 Treemaps。除了提供 DataFrame 外,您还可以为矩形大小指定 `values` 参数,为层次结构级别指定 `path` 参数。此交互式图形使层次结构中的模式和比例可见,这有助于分析复杂数据集。 语法 参数
此函数生成的交互式 Treemap 可以更改其配色方案、布局和层次结构深度等。 使用 DataFrame,`plotly.express.treemap` 函数会生成交互式 Treemaps。`data_frame` 用于数据源,`path` 用于提供标签层次结构,`values` 用于矩形大小是重要的输入。颜色方案由 `color_discrete_sequence` 和 `color_continuous_scale` 管理,而颜色则通过 `color` 参数根据数据分配。使用 `hover_data`,您可以个性化悬停信息,并且 `title`、`width` 和 `height` 可以更改图的外观。层次结构可见的深度由 `maxdepth` 选项控制,`branchvalues` 参数定义大小是计算为总和还是余数。此功能可以详细地交互式地查看分层数据,从而促进复杂数据集的探索和理解。 示例输出 ![]() 说明 在上面的代码片段中,我们借助 Plotly Express 生成了一个交互式 Treemap。首先,我们定义了一个包含分层数据的数据框,其中 `names` 用于标签,`parents` 用于父子关系,`values` 用于矩形大小,`colors` 用于颜色编码。通过为 `names`、`parents`、`values` 和 `color` 指定可视化表示,`px.treemap` 函数创建了 Treemap。`title` 参数添加了图表标题,`color_continuous_scale` 参数使用“Viridis”定义了颜色渐变。通过将 `width` 选项设置为 `600`,Treemap 的水平大小减小,提高了其与不同布局的兼容性。最后,使用 `fig.show()` 显示图表,提供了产品类别的交互式表示。 绘制分层 DataFrame 的 TreeMapPlotly Express 通过绘制分层 DataFrame 的 Treemap,可以清晰地呈现复杂、嵌套的数据。Treemap 的分层结构由父子关系表示,并显示为嵌套矩形,每个矩形的大小表示一个值。通过创建具有提供标签、父节点、大小值和可选颜色编码的列的数据框来创建它。可以使用 `plotly.express.treemap` 将 `names`、`parents`、`values` 和 `color` 参数映射到这些列。生成的 Treemap 提供了一种交互式且自然的方式来检查分层数据,有助于可视化和探索数据分布和关系。 示例输出 ![]() 说明 在上面的代码片段中,我们使用 Plotly Express 创建了一个 Treemap,以可视化不同地区、类别和子类别之间的收入数据。我们通过指定 `Region`、`Category`、`Sub-Category` 和 `Revenue` 列将数据存储在 Pandas DataFrame 中。然后,我们使用 `px.treemap` 函数生成 Treemap,其中 `path` 参数设置为层次结构(Region → Category → Sub-Category),`values` 参数设置为 `Revenue` 来调整矩形的大小。我们将 `width` 参数设置为 500,以将图的宽度减小到 500 像素,从而使 Treemap 更紧凑。`fig.show()` 函数显示了交互式 Treemap,允许用户探索不同地区和产品类别之间的分层收入分布。 使用连续颜色参数绘制分层 DataFrame使用 Plotly Express 中的连续颜色参数绘制分层 DataFrame 可以通过基于数值变量添加渐变色阶来增强可视化效果。`color` 参数允许您将连续数据列映射到颜色,从而创建一种直观的方式来表示 Treemap 中数据的变化。通过使用 `color_continuous_scale`,您可以自定义颜色渐变,使模式和趋势更加明显。这种方法对于可视化收入、销售或人口等指标特别有用,通过大小和颜色的表示提供了对数据层次结构的更深入的见解。 示例输出 ![]() 说明 在上面的代码片段中,我们使用 Plotly Express 生成了一个 Treemap,以可视化大陆、国家和城市之间的人口数据。我们创建了一个 DataFrame 来表示收集的数据,包括 `Continent`、`Country`、`City` 和 `Population`。然后,我们使用 `px.treemap` 函数构建 Treemap,其中 `path` 参数定义了层次结构(Continent → Country → City),并将 `Population` 的 `values` 设置为调整矩形的大小。`color` 参数还将 `Population` 值映射到连续颜色比例,使用“Blues”颜色方案提供渐变效果。`width` 参数设置为 500 像素,减小了 Treemap 的整体宽度,使其更紧凑,适合不同的显示尺寸。 使用连续颜色参数绘制分层 DataFrame使用 Plotly Express 中的连续颜色参数绘制分层 DataFrame 可以实现对复杂、嵌套数据的详细且具有视觉吸引力的表示。Treemap 将分层数据显示为嵌套矩形,其中每个矩形的大小和颜色都传达了重要信息。通过使用 `color` 参数,您可以将连续变量(例如,人口、销售额或收入)映射到颜色渐变,从而增强数据的视觉效果。`color_continuous_scale` 参数允许自定义颜色方案,有助于突出层次结构中的模式和趋势。这种方法对于理解复杂数据集特别有用,因为它将分层结构与连续颜色渐变相结合,提供了对数据的更深入的见解。 使用 Plotly Express 中的连续颜色参数绘制分层 DataFrame 提供了一种可视化复杂数据结构的高级方法。在这种情况下使用的 Treemap 将数据分解为嵌套矩形,其中每个矩形的面积和颜色都提供了对数据的见解。由 `color_continuous_scale` 定义的连续颜色比例允许您使用渐变颜色表示一系列值,从而更容易识别层次结构不同级别上的趋势、异常值和模式。这种分层表示和颜色编码的组合在金融、人口统计学和销售分析等领域尤其有效,在这些领域,理解值的分布和数量对于决策至关重要。 示例输出 ![]() 说明 在上面的代码片段中,我们使用 Plotly Express 生成了一个 Treemap,以可视化不同部门和团队的员工数据。我们将数据存储在 Pandas DataFrame 中。然后,我们使用 `px.treemap` 函数来创建 Treemap,其中 `path` 参数定义了分层结构。`values` 参数使用 `Salary` 列来确定矩形的大小,表示薪水的数量级。`color` 参数将 `Experience` 列映射到连续颜色比例,从而可以通过颜色强度可视化经验水平。`color_continuous_scale` 设置为“RdBu”,它根据经验应用从红色到蓝色的渐变。`width` 参数设置为 500 像素,减小了 Treemap 的整体宽度,使其更紧凑,适合各种显示尺寸。 使用 Treemap 的一些优点使用 Treemap 的一些好处如下
结论使用 Python 和 Plotly Express 构建 treemap 是可视化复杂、分层数据的清晰且交互式的方法。通过同时表示数据点的大小和颜色,可以更全面地理解数据中的链接和分布。凭借其直观的界面和广泛的自定义功能,Plotly Express 可以轻松地根据特定的分析需求调整 Treemap。由于增强了数据探索的交互式元素,用户可以更深入地探究细节并发现静态表示可能忽略的见解。此外,Plotly 的跨平台兼容性和跨多个平台交互的简便性确保了这些可视化可以广泛共享且易于访问。 |
我们请求您订阅我们的新闻通讯以获取最新更新。