沙盒粉碎模拟器
106.24 MB · 2025-12-20
Matplotlib 是Python的二维绘图库,可以创建各种静态、动态和交互式图表。 它常与 Pandas 和 Numpy 配合使用,用于数据分析、科研和可视化报告。
Matplotlib的特点:
pip install matplotlib
导入常规写法:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 30, 45]
plt.plot(x, y)
plt.title("销售趋势图")
plt.xlabel("月份")
plt.ylabel("销售额")
plt.show()
这段代码绘制了一条简单的折线图。
plt.plot() 用于画折线,plt.show() 用于显示图形。
适合展示趋势变化。
plt.plot(x, y, marker='o', color='blue', linestyle='--', label="销售额")
plt.legend()
plt.show()
适合展示分类数据对比。
categories = ["苹果", "香蕉", "橙子", "葡萄"]
sales = [80, 60, 70, 90]
plt.bar(categories, sales, color="skyblue")
plt.title("水果销售对比")
plt.xlabel("水果")
plt.ylabel("销量")
plt.show()
适合展示比例分布。
labels = ['A产品', 'B产品', 'C产品']
sizes = [40, 35, 25]
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)
plt.title("产品市场占比")
plt.show()
适合展示数据分布和相关性。
x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y, color='green')
plt.title("散点分布示例")
plt.show()
Matplotlib提供丰富的样式控制,让图表更专业美观。
plt.plot(x, y, color='red', linewidth=2, marker='o', markersize=6)
plt.grid(True, linestyle='--', alpha=0.5)
plt.title("趋势线示例", fontsize=14)
plt.xlabel("时间(月)", fontsize=12)
plt.ylabel("增长率(%)", fontsize=12)
plt.show()
x = np.arange(1, 6)
y1 = x * 2
y2 = x ** 2
plt.plot(x, y1, label="线性增长", color='blue')
plt.plot(x, y2, label="平方增长", color='orange')
plt.legend()
plt.title("不同增长趋势对比")
plt.show()
当需要展示多个图表时,可以使用subplot创建多图布局。
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.subplot(2, 1, 1)
plt.plot(x, y1, color='red')
plt.title("正弦函数")
plt.subplot(2, 1, 2)
plt.plot(x, y2, color='blue')
plt.title("余弦函数")
plt.tight_layout()
plt.show()
Pandas内置了Matplotlib接口,可直接对DataFrame绘图。
import pandas as pd
data = {
"月份": ["1月", "2月", "3月", "4月", "5月"],
"销售额": [100, 150, 120, 180, 200],
"利润": [30, 50, 40, 70, 90]
}
df = pd.DataFrame(data)
df.plot(x="月份", y=["销售额", "利润"], kind="bar")
plt.title("销售与利润分析")
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
data = {
"月份": range(1, 13),
"销售额": [320, 450, 500, 610, 720, 830, 900, 870, 790, 660, 550, 430]
}
df = pd.DataFrame(data)
plt.figure(figsize=(8,5))
plt.plot(df["月份"], df["销售额"], color='orange', marker='o', linewidth=2)
plt.title("2024年度销售趋势")
plt.xlabel("月份")
plt.ylabel("销售额(万元)")
plt.grid(True, linestyle='--', alpha=0.6)
plt.show()
输出的折线图能直观展示全年销售走势,为企业决策提供直观依据。
通过本篇文章,你已经掌握了:
Matplotlib的强大在于它的可扩展性与灵活性。 当你熟练掌握它后,可以进一步学习 Seaborn 和 Plotly 等高级可视化库,构建更专业、更美观的数据展示界面。