数据可视化 - 使用 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)进一步提升图表表现力!
热门推荐
职大VS二本:深圳职大就业率高达99.34%,起薪超本科生均
孔子教育思想影响最广,超越蔡元培朱熹成教育界泰斗
职业教育改革需弘扬教育家精神,打造高素质教师队伍
智能手机:健康管理神器
春节为什么要吃饺子?春节吃饺子的寓意与象征
手把手教你做鲜美多汁的白菜馅儿包子
孙俪:用坚韧精神追求演艺梦想,以平衡艺术经营生活
“娘娘”遇“纯元”:《甄嬛传》小主节晚会将直播
支付令讨债优势显著:35天内完成,费用仅需三分之一
劳动者讨薪有捷径:支付令制度助你讨回“被消费”的工资
魔都上海:52幢历史建筑与632米高楼见证城市传奇
广州必游20大景点:从长隆到广州塔,2025最新版旅游攻略
小米粥养生新潮流,你get了吗?
从吊兰到发财树:十种适合客厅的耐阴绿植指南
孙先生教你如何避开楼房风水雷区
户型不正真的会导致心理问题吗?
5个改善骨盆前倾的矫正拉伸训练
肤若凝脂与灵动活泼:解读甄嬛传中的绝色与普通
50+女性长发造型大揭秘
何超琼教你50+女性如何选发型
眼睑跳动可能不仅仅是烦恼的问题
47岁蒋勤勤凭《草木人间》封后,演技派转型获肯定
手机号码归属地查询指南:官网、热线、APP三种方式任选
MIT黑科技来袭,AI模仿声音引爆娱乐圈
AI语音克隆技术:下一个网红神器?
暗黑黎明佣兵狂战神索迪十五级进阶装备详解
《流放之路2》佣兵职业入门指南
《第五人格》佣兵实战技巧大揭秘
朱诺号揭秘木星风暴:与地球气旋形成机制相似
朱诺探测器7年稳定运行,欧罗巴快船将挑战木星极端环境