【数据挖掘】Matplotlib

Matplotlib 是 Python 最常用的 数据可视化 库之一,在数据挖掘过程中,主要用于 数据探索 (EDA)趋势分析模式识别结果展示


📌 1. Matplotlib 基础

1.1 安装 & 导入

复制代码
# 如果未安装 Matplotlib,请先安装
# pip install matplotlib

import matplotlib.pyplot as plt
import numpy as np

1.2 基本绘图

复制代码
x = np.linspace(0, 10, 100)  # 生成 100 个 0-10 之间的等距点
y = np.sin(x)

plt.plot(x, y)  # 画图
plt.xlabel("X 轴")  # X 轴标签
plt.ylabel("Y 轴")  # Y 轴标签
plt.title("Sine Wave")  # 图标题
plt.grid(True)  # 添加网格
plt.show()  # 显示图像

📌 输出: 绘制 正弦曲线 📈


📌 2. 常见图表类型

2.1 折线图 (Line Plot)

复制代码
x = np.arange(1, 11)
y = np.random.randint(10, 100, size=10)

plt.plot(x, y, marker="o", linestyle="-", color="b", label="数据趋势")
plt.legend()
plt.show()

📌 适用场景: 用于 趋势分析时间序列数据


2.2 散点图 (Scatter Plot)

复制代码
x = np.random.rand(50)
y = np.random.rand(50)

plt.scatter(x, y, color="g", alpha=0.7)  # 透明度 alpha 控制点的透明度
plt.title("Scatter Plot")
plt.show()

📌 适用场景: 适合用于 关系分析、聚类分析


2.3 柱状图 (Bar Chart)

复制代码
categories = ["A", "B", "C", "D", "E"]
values = [10, 25, 15, 30, 20]

plt.bar(categories, values, color="orange")
plt.title("Bar Chart Example")
plt.show()

📌 适用场景: 适用于 类别数据分析


2.4 直方图 (Histogram)

复制代码
data = np.random.randn(1000)  # 生成 1000 个随机数

plt.hist(data, bins=30, color="purple", alpha=0.75)
plt.title("Histogram Example")
plt.show()

📌 适用场景: 适合 分布分析 ,如 正态分布检验


2.5 盒须图 (Box Plot)

复制代码
data = [np.random.rand(100) * i for i in range(1, 5)]

plt.boxplot(data, patch_artist=True)
plt.title("Box Plot Example")
plt.show()

📌 适用场景: 适合 异常值分析、数据分布分析


📌 3. 进阶绘图技巧

3.1 子图 (Subplot)

复制代码
fig, axes = plt.subplots(2, 2, figsize=(10, 8))

x = np.linspace(0, 10, 100)
axes[0, 0].plot(x, np.sin(x))
axes[0, 0].set_title("Sine Wave")

axes[0, 1].scatter(np.random.rand(50), np.random.rand(50))
axes[0, 1].set_title("Scatter Plot")

axes[1, 0].bar(["A", "B", "C"], [10, 20, 30])
axes[1, 0].set_title("Bar Chart")

axes[1, 1].hist(np.random.randn(1000), bins=30)
axes[1, 1].set_title("Histogram")

plt.tight_layout()  # 自动调整子图间距
plt.show()

📌 适用场景:一个画布上同时绘制多个图表


3.2 统计相关性分析

复制代码
import seaborn as sns
import pandas as pd

# 生成随机数据
df = pd.DataFrame(np.random.rand(10, 4), columns=["A", "B", "C", "D"])

# 计算相关性
correlation_matrix = df.corr()

# 相关性热图
plt.figure(figsize=(8, 6))
sns.heatmap(correlation_matrix, annot=True, cmap="coolwarm", linewidths=0.5)
plt.title("Correlation Matrix Heatmap")
plt.show()

📌 适用场景: 特征工程、变量相关性分析


3.3 动态更新数据

复制代码
import time

plt.ion()  # 开启交互模式
fig, ax = plt.subplots()

x = []
y = []

for i in range(10):
    x.append(i)
    y.append(np.random.randint(1, 10))
    ax.clear()
    ax.plot(x, y, marker="o", linestyle="-", color="b")
    plt.pause(0.5)

plt.ioff()  # 关闭交互模式
plt.show()

📌 适用场景: 实时数据可视化,如股市走势


📌 4. Matplotlib 在数据挖掘中的应用

数据挖掘任务 适用图表
数据探索 (EDA) 直方图、盒须图、散点图
趋势分析 折线图
相关性分析 热图、散点图
异常值检测 盒须图
分类数据分析 柱状图
数据分布分析 直方图

📌 5. 总结

Matplotlib 在数据挖掘中的核心作用: ✅ 数据可视化 :帮助理解数据的分布、趋势、相关性

异常值检测 :通过箱线图、散点图检测异常点

模式识别 :发现数据中的模式或聚类结构

结果展示:清晰直观地展示数据分析和挖掘结果

相关推荐
IT_陈寒3 分钟前
Vite 5个隐藏技巧让你的项目构建速度提升50%,第3个太香了!
前端·人工智能·后端
孤廖6 分钟前
吃透 C++ 栈和队列:stack/queue/priority_queue 用法 + 模拟 + STL 标准实现对比
java·开发语言·数据结构·c++·人工智能·深度学习·算法
Full Stack Developme19 分钟前
java.net 包详解
java·python·.net
麦麦麦造24 分钟前
有了 MCP,为什么Claude 还要推出 Skills?
人工智能·aigc·ai编程
jerryinwuhan27 分钟前
利用舵机实现机器人行走
人工智能·机器人
武子康29 分钟前
AI-调查研究-107-具身智能 强化学习与机器人训练数据格式解析:从状态-动作对到多模态轨迹标准
人工智能·深度学习·机器学习·ai·系统架构·机器人·具身智能
沫儿笙29 分钟前
KUKA库卡焊接机器人二氧化碳节气
人工智能·机器人
insight^tkk1 小时前
【Docker】记录一次使用docker部署dify网段冲突的问题
运维·人工智能·docker·ai·容器
攻城狮7号1 小时前
AI+大数据时代:如何从架构到生态重构时序数据库的价值?
大数据·人工智能·时序数据库·apache iotdb·sql大模型
智能化咨询1 小时前
AI+大数据时代:时序数据库的生态重构与价值跃迁——从技术整合到行业落地
人工智能