当前位置:首页>python>python数据可视化技巧的100个练习 -- 16. 使用分层数据创建旭日图

python数据可视化技巧的100个练习 -- 16. 使用分层数据创建旭日图

  • 2026-09-10 20:10:38
python数据可视化技巧的100个练习 -- 16. 使用分层数据创建旭日图
重要性★★★☆☆
难度★★★☆☆
一家零售公司希望以清晰且交互的方式可视化其产品销售层次结构,以便更好地了解其产品类别。
他们有三个层次的分层:类别、子类别和产品。
你的任务是创建一个旭日图,以显示这种分层数据。
在代码中创建样本数据,然后从中生成一个旭日图。
样本数据应包括以下结构:
  • 类别:电子产品、家具
  • 子类别(电子产品下):计算机、手机
  • 产品(计算机下):笔记本电脑、台式机
  • 产品(手机下):智能手机、座机
  • 子类别(家具下):椅子、桌子
  • 产品(椅子下):办公椅、餐椅
  • 产品(桌子下):咖啡桌、餐桌
每个产品应与其随机销售值相关联。
编写代码以生成和可视化此数据的旭日图。

【数据生成代码示例】

import randomimport pandas as pdrandom.seed(0)data = {    'Category': ['Electronics']*4 + ['Furniture']*4,    'Subcategory': ['Computers']*2 + ['Phones']*2 + ['Chairs']*2 + ['Tables']*2,    'Product': ['Laptop', 'Desktop', 'Smartphone', 'Landline', 'Office Chair', 'Dining Chair', 'Coffee Table', 'Dining Table'],    'Sales': [random.randint(1000, 5000) for _ in range(8)]}df = pd.DataFrame(data)print(df)

【图表答案】

【代码答案】

import pandas as pdimport plotly.express as pxdf = pd.DataFrame({    'Category': ['Electronics']*4 + ['Furniture']*4,    'Subcategory': ['Computers']*2 + ['Phones']*2 + ['Chairs']*2 + ['Tables']*2,    'Product': ['Laptop', 'Desktop', 'Smartphone', 'Landline', 'Office Chair', 'Dining Chair', 'Coffee Table', 'Dining Table'],    'Sales': [2740, 3985, 2167, 4954, 1164, 4890, 1230, 4742]})fig = px.sunburst(df, path=['Category', 'Subcategory', 'Product'], values='Sales', title='产品销售层次结构')fig.show()
首先,导入必要的库。
我们使用 pandas 进行数据操作,使用 plotly.express 创建旭日图。
数据按照指定的分层结构在代码中创建,包括类别、子类别和产品。
每个产品都有一个随机生成的销售值。
在可视化代码中,创建了具有指定结构的 DataFrame。
使用 plotly.express.sunburst 函数创建旭日图。
path 参数定义了分层结构,values 参数指定了要可视化的度量,此处为销售。
使用 fig.show() 显示图表。

【小知识】

  • 旭日图是一种用于显示分层数据的可视化工具。
  • 它提供了一种直观的方式来探索不同层次的详细数据。
  • Plotly 是 Python 中用于交互式可视化的流行库,提供多种图表类型和自定义选项。
  • 使用旭日图,可以轻松识别哪些类别或子类别对总销售额或其他度量贡献最大。

最新文章

随机文章