📖 知识点
1. 为什么要可视化?
一行行数字要费力比较,但一张图(柱状图、折线图)扫一眼就明白。可视化是数据分析的 "摆盘"—— 同样的菜,装盘好看,顾客(读者)更愿意吃、更容易懂。
2. 认识 matplotlib
matplotlib 是 Python 最基础的绘图库。pandas 的 plot 方法底层就调用它。需先安装:
pip install matplotlib
3. pandas 内置 plot 画图
pandas 的 DataFrame 可以直接 .plot() 画图,最简单:
import matplotlib.pyplot as plt
import pandas as pd
# 一份数据
data = {"菜名": ["白菜", "番茄", "土豆", "黄瓜"], "销量": [10, 20, 30, 15]}
df = pd.DataFrame(data)
# 画柱状图(x=菜名,y=销量)
df.plot(x="菜名", y="销量", kind="bar")
# 显示图像
plt.show()
df.plot(x="x列", y="y列", kind="图类型"):kind 指定图类型(bar 柱状 /line 折线 /pie 饼图等)。
4. 常用图类型(kind)
| kind 值 | 图形 | 适用 |
|---|---|---|
| 柱状图 | 对比各类 |
| 折线图 | 看趋势 |
| 饼图 | 看占比 |
| 直方图 | 看分布 |
5. 完整示例(柱状图)
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()
会弹出一个窗口显示柱状图:横轴是菜名,纵轴是销量,一眼看出土豆销量最高。
⚠️ 易错提醒
画图前先
pip install matplotlib
.plot()后要plt.show()才会显示图像中文标题可能显示为方块,可加
plt.rcParams['font.sans-serif']=['SimHei']处理(部分环境需要)
⚔️ Kata 实战任务
任务需求:
安装并导入 matplotlib 和 pandas
创建一份 "各菜销量" 数据
用
df.plot(x="菜名", y="销量", kind="bar")画柱状图用
plt.show()显示图像打印提示,说明这张图表达了什么
参考代码
# 先确保已安装:pip install matplotlib
import matplotlib.pyplot as plt
import pandas as pd
# 一份各菜销量数据
df = pd.DataFrame({
"菜名": ["白菜", "番茄", "土豆", "黄瓜", "茄子"],
"销量": [10, 20, 30, 15, 25],
})
# 摆盘初识:画柱状图
df.plot(x="菜名", y="销量", kind="bar", title="各菜销量对比")
plt.show()
print("✅ 柱状图已生成!")
print("📊 图中最高的一根是「土豆」(30),销量最高;最低的是「白菜」(10)")
运行输出(会弹出一个柱状图窗口 + 终端打印):
✅ 柱状图已生成!
📊 图中最高的一根是「土豆」(30),销量最高;最低的是「白菜」(10)
💡 观察:弹出的窗口里,横轴是 5 种菜,纵轴是销量,每根柱子的高度一眼可对比。这就是 "装盘上桌"—— 数字变成了直观的图。
🧠 思考题
df.plot()里的x、y、kind分别控制图的什么?如果要看 "销量随时间变化" 该选哪种图(bar/line/pie)?为什么?
行者孙Python