Python 数据可视化

embedded/2025/3/15 3:30:41/

Python 提供了多种强大的库用于数据可视化,常用的库包括 MatplotlibSeabornPlotlyPandasBokeh 等。以下是这些库的简介和一些常见的数据可视化示例。


1. Matplotlib

Matplotlib 是 Python 中最常用的绘图库,提供了类似 MATLAB 的绘图接口。

示例:绘制折线图

python">import matplotlib.pyplot as plt# 数据
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 30, 40]# 创建图形
plt.plot(x, y, marker='o', linestyle='-', color='b', label='Line Chart')# 添加标题和标签
plt.title("Simple Line Chart")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")# 显示图例
plt.legend()# 显示图形
plt.show()

示例:绘制柱状图

python">import matplotlib.pyplot as plt# 数据
categories = ['A', 'B', 'C', 'D']
values = [15, 25, 30, 20]# 创建柱状图
plt.bar(categories, values, color='skyblue')# 添加标题和标签
plt.title("Bar Chart")
plt.xlabel("Categories")
plt.ylabel("Values")# 显示图形
plt.show()

2. Seaborn

Seaborn 是基于 Matplotlib 的高级绘图库,提供了更美观的默认样式和更简单的接口。

示例:绘制散点图

python">import seaborn as sns
import pandas as pd# 数据
data = pd.DataFrame({'X': [1, 2, 3, 4, 5],'Y': [10, 20, 25, 30, 40]
})# 绘制散点图
sns.scatterplot(x='X', y='Y', data=data)# 显示图形
plt.show()

示例:绘制热力图

python">import seaborn as sns
import numpy as np# 数据
data = np.random.rand(5, 5)# 绘制热力图
sns.heatmap(data, annot=True, cmap='coolwarm')# 显示图形
plt.show()

3. Plotly

Plotly 是一个交互式绘图库,支持生成动态和交互式图表。

示例:绘制交互式折线图

python">import plotly.express as px
import pandas as pd# 数据
df = pd.DataFrame({'X': [1, 2, 3, 4, 5],'Y': [10, 20, 25, 30, 40]
})# 绘制折线图
fig = px.line(df, x='X', y='Y', title="Interactive Line Chart")# 显示图形
fig.show()

示例:绘制交互式散点图

python">import plotly.express as px
import pandas as pd# 数据
df = pd.DataFrame({'X': [1, 2, 3, 4, 5],'Y': [10, 20, 25, 30, 40],'Category': ['A', 'B', 'A', 'B', 'A']
})# 绘制散点图
fig = px.scatter(df, x='X', y='Y', color='Category', title="Interactive Scatter Plot")# 显示图形
fig.show()

4. Pandas

Pandas 内置了基于 Matplotlib 的简单绘图功能,适合快速可视化。

示例:绘制直方图

python">import pandas as pd
import numpy as np# 数据
data = pd.Series(np.random.randn(1000))# 绘制直方图
data.hist(bins=30, color='skyblue')# 显示图形
plt.show()

5. Bokeh

Bokeh 是一个用于创建交互式图表的库,特别适合在网页中展示。

示例:绘制交互式折线图

python">from bokeh.plotting import figure, show
from bokeh.io import output_notebook# 启用 Notebook 输出
output_notebook()# 数据
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 30, 40]# 创建图形
p = figure(title="Interactive Line Chart", x_axis_label='X', y_axis_label='Y')
p.line(x, y, legend_label="Line", line_width=2)# 显示图形
show(p)

6. 综合示例:使用多种库绘制图形

以下是一个综合示例,展示如何使用 Matplotlib、Seaborn 和 Plotly 绘制同一组数据的不同图形。

python">import matplotlib.pyplot as plt
import seaborn as sns
import plotly.express as px
import pandas as pd# 数据
data = pd.DataFrame({'X': [1, 2, 3, 4, 5],'Y': [10, 20, 25, 30, 40]
})# Matplotlib 折线图
plt.plot(data['X'], data['Y'], marker='o')
plt.title("Matplotlib Line Chart")
plt.show()# Seaborn 散点图
sns.scatterplot(x='X', y='Y', data=data)
plt.title("Seaborn Scatter Plot")
plt.show()# Plotly 交互式折线图
fig = px.line(data, x='X', y='Y', title="Plotly Interactive Line Chart")
fig.show()

总结

  • Matplotlib:适合基础绘图,功能强大但代码稍复杂。
  • Seaborn:基于 Matplotlib,提供更美观的默认样式和高级图表。
  • Plotly:适合创建交互式图表,支持动态展示。
  • Pandas:适合快速可视化,内置简单绘图功能。
  • Bokeh:适合创建交互式图表,特别适合网页展示。

根据你的需求选择合适的库进行数据可视化


http://www.ppmy.cn/embedded/172656.html

相关文章

R格式 | 第十五届蓝桥杯C++B组

小蓝最近在研究一种浮点数的表示方法:RR 格式。 对于一个大于 00 的浮点数 dd,可以用 RR 格式的整数来表示。 给定一个转换参数 nn,将浮点数转换为 RR 格式整数的做法是: 将浮点数乘以 2n2n;四舍五入到最接近的整数。 输入格式…

matlab慕课学习3.2+3.3

于20250310 3.2用if语句实现选择结构 3.2.1什么是选择结构 用if 语句和switch语句可实现选择结构 3.2.2单分支if语句 if 条件语句组 %可以是一条也可是多条end 当条件为标量,非0表成立,0表示不成立。 当条件为矩阵时,矩阵非空&#xff…

基于Spring Boot的网上蛋糕售卖店管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

大语言模型-01-语言模型发展历程-03-预训练语言模型到大语言模型

简介 本博客内容是《大语言模型》一书的读书笔记,该书是中国人民大学高瓴人工智能学院赵鑫教授团队出品,覆盖大语言模型训练与使用的全流程,从预训练到微调与对齐,从使用技术到评测应用,帮助学员全面掌握大语言模型的…

Kotlin关键字`when`的详细用法

Kotlin关键字when的详细用法 在Kotlin中,when是一个强大的控制流语句,相当于其他语言中的switch语句,但更加强大且灵活。本文将详细讲解when的用法及其常见场景,并与Java的switch语句进行对比。 一、基本语法 基本的when语法如…

leetCode求两数之和(第一题)

一、题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答…

接入手机后,DeepSeek难“转正”

2025开年之后,手机圈掀起了一场诡异的AI军备竞赛——争相接入DeepSeek。随着时间的推移,这股年初的狂热已然降温。 当潮水退去之后,暴露出手机AI领域的残酷真相:市面上手机自带的AI能力,没能像DeepSeek一样&#xff0c…

celery入门

按照Celery 官方文档,用 Django Celery Redis 写的一个简单项目 如需转载,标记出处 环境准备 1. 安装依赖 pip install django celery redis 创建 Django 项目 1. 创建 Django 项目和 APP django-admin startproject myproject cd myproject python …