微信关注,获取更多

跟着AI学Python 第12课:matplotlib 数据可视化

# === 第12课:matplotlib 数据可视化 ===

import matplotlib.pyplot as plt

# 让图表显示中文(否则中文会显示为方块)
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False

# 1. 折线图
print("--- 折线图 ---")
months = ["1月", "2月", "3月", "4月", "5月", "6月"]
sales = [120, 150, 180, 200, 170, 220]

plt.figure()
plt.plot(months, sales, marker="o", color="blue")
plt.title("上半年销售趋势")
plt.xlabel("月份")
plt.ylabel("销售额(万元)")
plt.grid(True)
plt.savefig(r"D:\python\line_chart.png")
plt.close()
print("折线图已保存")

# 2. 柱状图
print("--- 柱状图 ---")
names = ["张三", "李四", "王五", "赵六"]
scores = [85, 92, 76, 88]

plt.figure()
plt.bar(names, scores, color=["#4CAF50", "#2196F3", "#FF9800", "#E91E63"])
plt.title("语文成绩对比")
plt.xlabel("姓名")
plt.ylabel("成绩")
plt.ylim(0, 100)             # y轴范围
for i, score in enumerate(scores):
    plt.text(i, score + 1, str(score), ha="center")   # 在柱子上方显示数值
plt.savefig(r"D:\python\bar_chart.png")
plt.close()
print("柱状图已保存")

# 3. 饼图
print("--- 饼图 ---")
items = ["餐饮", "交通", "娱乐", "购物", "其他"]
expenses = [3000, 800, 1200, 2500, 500]

plt.figure()
plt.pie(expenses, labels=items, autopct="%1.1f%%", startangle=90)
plt.title("月度支出占比")
plt.savefig(r"D:\python\pie_chart.png")
plt.close()
print("饼图已保存")

# 4. 多子图(一张图里放多个图表)
print("--- 多子图 ---")
x = [1, 2, 3, 4, 5]
y1 = [10, 20, 15, 30, 25]
y2 = [5, 15, 10, 25, 20]

fig, axes = plt.subplots(1, 2, figsize=(10, 4))    # 1行2列

# 左图:折线
axes[0].plot(x, y1, marker="o", color="green")
axes[0].set_title("数据A趋势")
axes[0].set_xlabel("序号")
axes[0].set_ylabel("数值")
axes[0].grid(True)

# 右图:柱状
axes[1].bar(x, y2, color="orange")
axes[1].set_title("数据B对比")
axes[1].set_xlabel("序号")
axes[1].set_ylabel("数值")

fig.suptitle("多子图示例")
plt.tight_layout()
plt.savefig(r"D:\python\multi_chart.png")
plt.close()
print("多子图已保存")

print()
print("全部图表生成完毕!请到 D:\\python 查看图片文件")

这一课的核心操作:

操作 代码
折线图 plt.plot(x, y)
柱状图 plt.bar(x, y)
饼图 plt.pie(data)
标题 plt.title("标题")
坐标轴标签 plt.xlabel() / plt.ylabel()
保存图片 plt.savefig("路径")
关闭图表 plt.close()

未经允许不得转载:百花谷博客 » 跟着AI学Python 第12课:matplotlib 数据可视化

评论

6+4=

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏