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

如何在分组求最小卡路里的柱状图柱子下方同时显示类别与食物名

解决柱状图X轴同时显示食物类别与对应低卡食物名称的问题

你当前的代码仅提取了每个类别下的最低卡路里数值,丢失了对应的食物名称信息。要实现需求,需先获取每个类别中卡路里最低的完整行数据,再自定义X轴标签。

完整解决方案代码

import matplotlib.pyplot as plt

# 获取每个Category中Calories最小的行数据
min_cal_rows = data.loc[data.groupby('Category')['Calories'].idxmin()]

# 绘制柱状图,指定Y轴为卡路里数值
ax = min_cal_rows.plot.bar(y='Calories', figsize=(10, 6), legend=False)

# 自定义X轴刻度标签:拼接类别名称与对应低卡食物名称,换行显示
ax.set_xticklabels([f"{cat}\n{item}" for cat, item in zip(min_cal_rows['Category'], min_cal_rows['Item'])])

# 设置图表标题与轴标签
ax.set_title('各食物类别最低卡路里食物热量')
ax.set_ylabel('卡路里数值')
ax.set_xlabel('食物类别与低卡食物')

# 自动调整布局,避免标签被截断
plt.tight_layout()
plt.show()

关键步骤说明

  • data.groupby('Category')['Calories'].idxmin():定位每个类别中卡路里值最小的行索引。
  • data.loc[...]:通过索引提取完整行数据,保留Category、Item和Calories等关键信息。
  • ax.set_xticklabels(...):将X轴刻度替换为「类别名称+食物名称」的组合,用\n换行保证标签可读性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 03:05:21