You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何可视化多值分类字段中各分类的分布?以蔬菜清单数据集为例

蔬菜分布可视化方案解答

1. 柱状图适用性判断

用柱状图展示单种蔬菜的分布完全合适,柱状图的核心适用场景就是不同分类指标的数值对比,你需要展示每种蔬菜的出现频次,用柱状图可以非常直观地看出不同蔬菜的出现频率差异。

2. 现有代码可优化点

你当前的实现思路是通顺的,但存在一个潜在隐患和简化空间:

  • 计数逻辑存在误匹配风险:用str.contains()做模糊匹配,若后续数据中出现包含其他蔬菜名的复合名称(比如"onion sprout"),会导致统计结果不准
  • 可借助pandas内置方法简化代码,不需要循环遍历统计

3. 优化后实现代码

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 拆分蔬菜列,转换为单行单蔬菜的结构后直接统计频次
veg_series = df["veg"].dropna().str.replace(', ', ',').str.split(',').explode()
veg_count = veg_series.value_counts().reset_index()
veg_count.columns = ['蔬菜种类', '出现频次']

# 绘制柱状图
plt.figure(figsize=(16,8))
ax = sns.barplot(data=veg_count, x='蔬菜种类', y='出现频次', palette="pastel")
ax.set_xticklabels(ax.get_xticklabels(), rotation=45, ha="right")
plt.show()

4. 可选其他可视化方案

如果后续蔬菜种类超过20种,也可以根据需求选择:

  • 水平柱状图:不需要旋转x轴标签,阅读体验更好
  • 饼图/环形图:适合展示每种蔬菜占总出现次数的比例,但种类超过10种不推荐,会导致标签拥挤

内容的提问来源于stack exchange,提问作者July Jones

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:54:02