Python 数据可视化

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


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:适合创建交互式图表,特别适合网页展示。

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

相关推荐
dialect_6 小时前
KMP算法
开发语言·c++·算法
总要学点什么7 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
前端精髓7 小时前
结构化输出with_structured_output(抽卡)
python·langchain
尹人入圣8 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
开开心心_Every8 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c9 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
Nuanyt9 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
吴卫斌9 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
2601_967987379 小时前
Python——入门级(定义功能def函数)
python·函数·可变参数·默认参数·关键字参数
超级架构师10 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core