📖 知识点
1. 柱状图适合什么?
柱状图(bar):每根柱子的高度代表数值大小,适合分类对比—— 几个类别哪个最大、哪个最小。
💡 生活比喻柱状图像一排 "身高测量尺":每根柱子是一个人的身高,一眼看出谁最高谁最矮。对比类数据用它最直观。
2. 基本柱状图
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({"菜名": ["白菜", "番茄", "土豆", "黄瓜"], "销量": [10, 20, 30, 15]})
df.plot(x="菜名", y="销量", kind="bar", title="各菜销量对比")
plt.show()
横轴是类别(菜名),纵轴是数值(销量),柱子越高销量越大。
3. 美化参数
| 参数 | 作用 |
|---|---|
| 图标题 |
| 图大小,如 figsize=(8,5) |
| 柱子颜色,如 color="skyblue" |
| 横轴标签旋转角度,防重叠 |
进阶美化版:
df.plot(x="菜名", y="销量", kind="bar", title="各菜销量对比",
figsize=(8, 5), color="skyblue")
plt.show()
4. 中文显示处理(部分环境)
中文标签若显示成方块,加:
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示
⚠️ 易错提醒
柱状图的 x 列是分类(菜名),y 列是数值(销量),别颠倒
画完记得
plt.show()才显示中文乱码时用
rcParams设置字体
⚔️ Kata 实战任务
任务需求:
导入 matplotlib 和 pandas
创建一份 "各菜销量" 数据
用
df.plot(kind="bar")画柱状图加
title、figsize、color美化显示并打印解读
参考代码
import matplotlib.pyplot as plt
import pandas as pd
# 处理中文显示(如需)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 各菜销量数据
df = pd.DataFrame({
"菜名": ["白菜", "番茄", "土豆", "黄瓜", "茄子"],
"销量": [10, 20, 30, 15, 25],
})
# 柱状摆盘:画柱状图并美化
df.plot(x="菜名", y="销量", kind="bar",
title="各菜销量对比", figsize=(8, 5), color="skyblue")
plt.show()
print("✅ 柱状图已生成!土豆销量最高(30),白菜最低(10)")
运行输出(弹出一张柱状图 + 终端打印):
✅ 柱状图已生成!土豆销量最高(30),白菜最低(10)
💡 观察:图里 5 根柱子清晰对比,土豆那根最高,白菜最低。加 title/color 后更美观、更易读。
🧠 思考题
柱状图的 "横轴" 和 "纵轴" 分别放什么?为什么说它适合 "分类对比"?
想调整柱子颜色、图大小,分别该加什么参数?