python数据可视化技巧的100个练习 -- 48. 分类数据的分面网格图
一家零售公司希望分析不同地区和产品类别的销售业绩。他们拥有销售金额、地区和产品类别的数据。您的任务是创建一个分面网格图,以可视化这些类别和地区之间的销售金额分布。使用提供的样本数据生成该图。确保该图清晰且信息丰富。import pandas as pdimport numpy as np# 生成样本数据np.random.seed(42)regions = ['North', 'South', 'East', 'West']categories = ['Electronics', 'Clothing', 'Groceries']data = { 'Region': [regions[np.random.randint(0, 4)] for _ in range(100)], 'Category': [categories[np.random.randint(0, 3)] for _ in range(100)], 'Sales': np.random.randint(100, 1000, 100)}df = pd.DataFrame(data)
import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt # 生成样本数据 np.random.seed(42) regions = ['North', 'South', 'East', 'West'] categories = ['Electronics', 'Clothing', 'Groceries'] data = { 'Region': [regions[np.random.randint(0, 4)] for _ in range(100)], 'Category': [categories[np.random.randint(0, 3)] for _ in range(100)], 'Sales': np.random.randint(100, 1000, 100) } df = pd.DataFrame(data) # 创建分面网格图 g = sns.FacetGrid(df, col="Region", row="Category", margin_titles=True) g.map(sns.histplot, "Sales") plt.show()
生成样本数据:
创建分面网格图:
使用 seaborn 的 FacetGrid 类创建分面网格图。
col="Region" 和 row="Category" 参数定义了网格的列和行,分别对应地区和产品类别。
margin_titles=True 参数在网格的边缘显示行和列的标题,使网格更易读。
绘制图表:
显示图表:
seaborn的FacetGrid:特别适用于可视化多维分类数据中的复杂关系。自定义:FacetGrid 可以广泛自定义,包括调整网格大小、添加标题和修改图表外观。图表类型:可以在 FacetGrid 中使用直方图、散点图和其他类型的图表,以不同方式表示数据。margin_titles参数:帮助在网格边缘显示行和列的标题,使网格更易读。
系列完整内容可以在公众号主页搜索或点击分栏找到,欢迎扫码关注预防迷路找不到。感谢您的支持与相伴。
