数据可视化 - 使用 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)进一步提升图表表现力!
热门推荐
堪培拉农场:一个让亲子关系更亲密的自然乐园
如何辨别真正的房东发布的房源信息
苦丁茶:现代医学新宠?
苦丁茶PK普洱茶:谁是茶界王者?
苦丁茶清热解毒,你喝对了吗?
业主维权不断,临广“睡城”佛山陈村套牢多少广州客?
手机摄影从入门到精通:构图、光线与后期处理全攻略
中国武术如何在全球化浪潮中传承与发展?
小学生学武术,这些基础动作你get了吗?
《承德三字金经》:一部当代义利观的民间诠释
承德三字金经:一部当代道德经典的诞生与启示
“金九银十”钢价待回暖 生产企业亏损面或缩窄
张纪中版《西游记》:被低估的原著还原之作
《西游记》:满天神佛的命运游戏
揭秘《西游记》:嘉靖皇帝竟是孙悟空原型?
《西游记》里的戏曲元素大揭秘!
开发十年的病娇模拟器,被半路杀出的《米塔》摘了桃子
古法金包银手镯:传统工艺的现代魅力
掌握尺与厘米的换算关系,提高生活中的测量准确性与效率
金价飙升背景下,深圳水贝“金包银”饰品走红
金包银饰品:平价替代品还是投资陷阱?
双十一买“金包银”,理财还是踩坑?
香港这一夜,62岁刘德华的“江湖地位”被展现得淋漓尽致
广州房东降租留客!月租五千或降四百元,成交量仍降超4%
秋日打卡:奥林匹克森林公园最美赏景点
广州租房性价比之区,你选对了吗?
深圳租房攻略:哪里租房更划算
红砖美术馆:京城最美艺术空间,拍照打卡必去之地
水立方:从奥运场馆到城市地标
冬日打卡:朝阳区奥林匹克公园必玩攻略