- Python 学习路径:从零到精通
- Python 环境搭建
- Python 基础语法
- Python 数据结构
- Python 字符串操作
- Python 文件读写
- Python 函数进阶
- Python 面向对象编程(OOP)
- Python 异常处理
- Python 模块与包
- Python 迭代器与生成器
- Python 装饰器
- Flask 基础与入门
- Django 框架基础
- Python RESTful API 开发
- Python Web 表单与用户认证
- Python 数据的操作
- SQLAlchemy ORM 的使用
- Pandas 数据分析基础
- Numpy 数值计算
- 数据可视化(Matplotlib, Seaborn)
- 数据导入导出(CSV, Excel, JSON)
- 使用 requests 库进行 HTTP 请求
- 使用 BeautifulSoup 或 Scrapy 进行网页解析
- 线程与进程的概念
- 使用 threading 模块实现多线程
- 使用 multiprocessing 模块实现多进程
- GIL(全局解释器锁)的概念与影响
- Python 自动化脚本
- Python 常用设计模式
- Python 性能分析工具
- Python 内存管理与优化
- 并行与异步编程(asyncio, concurrent.futures)
- 测试驱动开发(TDD)
- WebSocket 实时通信
- Python GraphQL API 开发
- 前后端分离与前端框架(Vue.js, React)的集成
- 使用 Docker 容器化部署 Python 应用
- CI/CD 流程的自动化(GitHub Actions, Jenkins)
- Scikit-learn, TensorFlow 或 PyTorch 的基础知识
- 数据预处理与特征工程
- 构建与训练模型
- 模型评估与调优
- Hadoop 与 Spark 基础
- 使用 PySpark 进行大数据处理
- 分布式计算与数据流处理
- 基本的加密与解密技术
- 简单的网络安全工具(如端口扫描、漏洞检测)
- Web 安全与常见攻击防御(如 SQL 注入、XSS)
- 项目的协作流程
- 撰写高质量的代码与文档
数据可视化(Matplotlib, Seaborn)
class Matplotlib,Seaborn数据可视化是数据分析过程中至关重要的一部分,通过图形直观展示数据的特征和趋势,可以帮助我们更好地理解和解释数据。Python 提供了许多强大的可视化库,其中 Matplotlib 和 Seaborn 是最常用的两个库。
1. 安装 Matplotlib 和 Seaborn
首先,你需要安装这两个库。如果你还没有安装,可以通过以下命令进行安装:
pip install matplotlib seaborn
2. Matplotlib 基础
Matplotlib 是一个低级别的可视化库,提供了丰富的 API 用于创建各种类型的图表。它可以创建静态、动态和交互式的可视化。
2.1 创建基本图表
import matplotlib.pyplot as plt
# 创建简单的折线图
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 30, 40]
plt.plot(x, y)
plt.title('Simple Line Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
2.2 设置图表样式
Matplotlib 提供了多种图表样式和主题,你可以使用 plt.style.use()
来应用预设样式。
plt.style.use('ggplot')
plt.plot(x, y)
plt.title('Styled Line Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
2.3 子图布局
你可以在一个图形中包含多个子图(subplot)。
fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(x, y, 'r')
axs[0, 0].set_title('Red Line')
axs[0, 1].plot(x, [i**2 for i in x], 'g')
axs[0, 1].set_title('Green Line')
axs[1, 0].plot(x, [i**3 for i in x], 'b')
axs[1, 0].set_title('Blue Line')
axs[1, 1].plot(x, [i**4 for i in x], 'k')
axs[1, 1].set_title('Black Line')
plt.tight_layout()
plt.show()
2.4 常见图表类型
- 折线图 (
plt.plot
):用于展示趋势变化。 - 柱状图 (
plt.bar
):用于比较不同类别的数据。 - 散点图 (
plt.scatter
):用于展示两个变量之间的关系。 - 直方图 (
plt.hist
):用于展示数据的分布。
# 柱状图
categories = ['A', 'B', 'C', 'D']
values = [5, 7, 3, 4]
plt.bar(categories, values)
plt.title('Bar Chart')
plt.show()
# 散点图
x = [5, 7, 8, 7, 2, 17, 2, 9, 4, 11]
y = [99, 86, 87, 88, 100, 86, 103, 87, 94, 78]
plt.scatter(x, y)
plt.title('Scatter Plot')
plt.show()
# 直方图
data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
plt.hist(data, bins=4)
plt.title('Histogram')
plt.show()
3. Seaborn 基础
Seaborn 是基于 Matplotlib 之上的高级可视化库,专门用于统计图表的绘制。它提供了更高级别的接口和默认的主题风格,使得创建复杂的统计图表变得更加容易。
3.1 创建基本图表
import seaborn as sns
import matplotlib.pyplot as plt
# 加载示例数据集
tips = sns.load_dataset('tips')
# 创建简单的散点图
sns.scatterplot(x='total_bill', y='tip', data=tips)
plt.title('Scatter Plot of Tips')
plt.show()
3.2 主题与样式
Seaborn 提供了多种主题和调色板,可以用来设置图表的风格。
sns.set(style='darkgrid', palette='muted')
# 创建带有主题的散点图
sns.scatterplot(x='total_bill', y='tip', data=tips)
plt.title('Scatter Plot with Darkgrid Style')
plt.show()
3.3 常见图表类型
- 条形图 (
sns.barplot
):用于展示类别数据的均值和置信区间。 - 箱线图 (
sns.boxplot
):用于展示数据的分布情况及其异常值。 - 分布图 (
sns.histplot
、sns.kdeplot
):用于展示数据的概率分布。 - 热力图 (
sns.heatmap
):用于展示数据矩阵的值的大小。
# 条形图
sns.barplot(x='day', y='total_bill', data=tips)
plt.title('Bar Plot of Total Bill')
plt.show()
# 箱线图
sns.boxplot(x='day', y='total_bill', data=tips)
plt.title('Box Plot of Total Bill')
plt.show()
# 分布图
sns.histplot(tips['total_bill'], kde=True)
plt.title('Histogram with KDE')
plt.show()
# 热力图
flights = sns.load_dataset("flights")
flights_pivot = flights.pivot("month", "year", "passengers")
sns.heatmap(flights_pivot, annot=True, fmt="d", cmap="YlGnBu")
plt.title('Heatmap of Flight Passengers')
plt.show()
3.4 数据关系图
Seaborn 提供了一些专门用于展示数据之间关系的图表,例如 pairplot
和 jointplot
。
# 多变量关系图(成对关系图)
sns.pairplot(tips, hue='sex')
plt.suptitle('Pair Plot of Tips Dataset', y=1.02)
plt.show()
# 联合分布图
sns.jointplot(x='total_bill', y='tip', data=tips, kind='reg')
plt.suptitle('Joint Plot with Regression Line', y=1.02)
plt.show()
4. 自定义与高级主题
无论是 Matplotlib 还是 Seaborn,都支持高度自定义的可视化。你可以自定义图表的每个部分,包括颜色、线型、标题、标签、图例等。
# 自定义 Matplotlib 图表
plt.plot(x, y, color='green', marker='o', linestyle='--', linewidth=2, markersize=8)
plt.title('Customized Line Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.grid(True)
plt.show()
# 自定义 Seaborn 图表
sns.set(style='whitegrid')
sns.boxplot(x='day', y='total_bill', data=tips, palette='Set3')
sns.despine(left=True)
plt.title('Customized Box Plot')
plt.show()
5. 总结
- Matplotlib:适合需要高度自定义的图表、科研报告中的精细化展示。
- Seaborn:适合快速创建美观的统计图表,尤其是涉及数据关系、分布的可视化任务。
通过掌握 Matplotlib 和 Seaborn,你可以应对大部分的数据可视化需求,从简单的线条图到复杂的多变量分析图,为数据分析和模型结果的展示提供有力支持。
评论区
评论列表
{{ item.user.nickname || item.user.username }}