数据可视化 - 使用 matplotlib 与 seaborn
创作时间:
作者:
@小白创作中心
数据可视化 - 使用 matplotlib 与 seaborn
引用
CSDN
1.
https://blog.csdn.net/mmc123125/article/details/143884439
数据可视化是数据分析中的关键环节。通过直观的图表,我们可以更高效地发现数据中的规律和异常点。Python提供了强大的可视化工具,其中matplotlib和seaborn是两款最受欢迎的库。本文将从基础介绍到实战案例,全面讲解如何使用这两个库进行数据可视化。
1. 引言:为什么需要数据可视化
数据可视化是数据分析中的关键环节。通过直观的图表,我们可以更高效地发现数据中的规律和异常点。Python提供了强大的可视化工具,其中matplotlib和seaborn是两款最受欢迎的库。
2. matplotlib 与 seaborn 的基础介绍
2.1 matplotlib 简介
matplotlib是 Python 最基础的绘图库,支持多种图表类型和自定义样式。
安装方式:
pip install matplotlib
优点:
- 功能强大,适用于多种复杂场景。
- 自由度高,支持完全自定义。
缺点:
- 绘图代码较复杂。
2.2 seaborn 简介
seaborn是基于 matplotlib 的高级绘图库,专注于统计数据的可视化,提供了更高层次的绘图接口。
安装方式:
pip install seaborn
优点:
- 默认样式美观。
- 专注于统计图表,使用简单。
缺点:
- 自定义能力有限(但足够应对大多数场景)。
3. 使用 matplotlib 进行基础绘图
3.1 折线图
折线图适用于展示趋势数据。
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
# 绘图
plt.plot(x, y, marker='o')
plt.title('Prime Numbers Trend')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.grid()
plt.show()
3.2 柱状图
柱状图适合对比不同类别的数据。
# 数据
categories = ['A', 'B', 'C', 'D']
values = [5, 7, 3, 8]
# 绘图
plt.bar(categories, values, color='skyblue')
plt.title('Category Comparison')
plt.ylabel('Values')
plt.show()
3.3 散点图
散点图用于展示两组数据之间的关系。
# 数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 3, 7]
# 绘图
plt.scatter(x, y, color='green')
plt.title('Scatter Plot Example')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
4. 使用 seaborn 提升可视化效果
4.1 分类数据可视化
seaborn.barplot可以轻松绘制带误差线的柱状图。
import seaborn as sns
import pandas as pd
# 示例数据
data = pd.DataFrame({
'Category': ['A', 'B', 'C', 'D'],
'Values': [5, 7, 3, 8]
})
# 绘图
sns.barplot(x='Category', y='Values', data=data, palette='viridis')
plt.title('Seaborn Bar Plot')
plt.show()
4.2 统计关系可视化
通过seaborn.pairplot查看多个变量之间的关系。
# 示例数据
from sklearn.datasets import load_iris
iris = sns.load_dataset('iris')
# 绘制关系图
sns.pairplot(iris, hue='species', palette='husl')
plt.show()
5. 实战案例:分析电子商务数据
以下是一个简单的电子商务数据可视化示例。
5.1 数据加载与清洗
假设有一份 CSV 文件,包含以下列:
date
:日期category
:商品类别sales
:销售额
加载数据:
import pandas as pd
data = pd.read_csv('ecommerce_data.csv')
data['date'] = pd.to_datetime(data['date']) # 转换日期格式
5.2 用户行为数据可视化
- 销售额趋势图
# 按月统计销售额
data['month'] = data['date'].dt.month
monthly_sales = data.groupby('month')['sales'].sum()
# 绘制折线图
plt.plot(monthly_sales.index, monthly_sales.values, marker='o', color='blue')
plt.title('Monthly Sales Trend')
plt.xlabel('Month')
plt.ylabel('Sales')
plt.grid()
plt.show()
- 类别销售额分布
# 按类别统计
category_sales = data.groupby('category')['sales'].sum().reset_index()
# 绘制柱状图
sns.barplot(x='category', y='sales', data=category_sales, palette='mako')
plt.title('Sales by Category')
plt.xticks(rotation=45)
plt.show()
6. 总结:绘图库的选择与组合
- matplotlib:适合需要高度自定义的复杂图表。
- seaborn:用于快速生成美观的统计图表。
无论是简单的趋势展示还是复杂的数据分析,合理搭配这两款工具都能让数据“活”起来。下一步,结合交互式可视化工具(如 Plotly 或 Dash)进一步提升图表表现力!
热门推荐
什么运动适合老年人
营销获客的全链路评估怎么做
民事诉讼请求书范文及格式详解
人工智能会在几年内超越人类吗?
用什么形容亲情?用什么词语形容亲情最贴切?!
叶永烈先生,当科幻变成现实,多么神奇!给孩子的科幻读物
王维《山居秋暝》:诗中有画,画中有诗
韩国版《街头霸王》电影:春丽的"嘀嘀哒嘀"被破解
武侠小说的前世今生:江湖萧萧班马鸣
西安学区划分2025年:你的学区还在吗?哪些热门学区将迎来大变动!
区块链技术详解:从基础原理到实际应用
买彩票可以用信用卡支付吗?
小猫洗澡全指南:如何为宠物小猫提供舒适的洗澡体验
窈窕淑女君子好逑:古典美学中的情感追求与道德理念
西安旅行攻略:三天探索古都风情
173项活动开启“西安年”新春文旅盛宴
萧何的忠诚与功臣
为什么不是十五生肖?南京博物院讲述十二生肖背后的故事
优化算法如何减少误差
重大责任事故罪与过失致人死亡罪的区别有哪些
澳洲最繁华的国际大都市,悉尼
典型案例:涉案1.3亿余元 传销虚拟货币骗了数万人
美眉帮小狗找主人游戏——一场温馨的宠物互动之旅
揭秘算命先生:从古代巫术到现代江湖骗术
孩子发烧是否需要立即就医?支原体肺炎何时需要做纤维支气管镜检查?
中年女性的自我救赎:开悟3件事,中一条就要恭喜了
解锁真相:如何批判性地思考媒体中的科学信息
乌鲁木齐一社区探索基层治理"合伙人"模式
博物馆导览系统核心功能与设计思路,提升游客体验和运营效率
如何克服RPA应用在银行业的技术难点?