您现在的位置是:首页 > 编程 > 

Python绘图全景式教程:提升你的数据表达力

2025-07-27 20:16:41
Python绘图全景式教程:提升你的数据表达力 @tocPython绘图教程:从基础到进阶在数据分析与科学计算的领域,Python因其丰富的库和简单易用的语法,成为了数据可视化的主要工具之一。在本教程中,我们将详细介绍如何使用Python进行数据绘图,并通过实例逐步学习各种常见的图形类型和绘图技巧。Python绘图库概述Python支持多种用于数据可视化的库,其中最常用的包括:Matplotlib

Python绘图全景式教程:提升你的数据表达力

@toc

Python绘图教程:从基础到进阶

在数据分析与科学计算的领域,Python因其丰富的库和简单易用的语法,成为了数据可视化的主要工具之一。在本教程中,我们将详细介绍如何使用Python进行数据绘图,并通过实例逐步学习各种常见的图形类型和绘图技巧。

Python绘图库概述

Python支持多种用于数据可视化的库,其中最常用的包括:

  • Matplotlib:一个基础的绘图库,适合进行各种二维绘图,功能强大且高度自定义。
  • Seaborn:基于Matplotlib的高级库,主要用于统计图形,图表美观且简便。
  • Plotly:一个用于绘制交互式图形的库,适用于动态、响应式的网页展示。
  • Bokeh:另一个绘制交互式图形的库,适用于Web开发。

本教程将介绍Matplotlib、Seaborn和Plotly这三大常用库的使用方法,帮助你掌握数据可视化的技能。


Matplotlib基础使用

安装Matplotlib

Matplotlib是Python中最为基础且强大的绘图库。要使用Matplotlib,首先需要安装它:

代码语言:python代码运行次数:0运行复制
pip install matplotlib

绘制基础图形

Matplotlib使用pyplot模块来进行绘图。下面是一个简单的折线图例子:

代码语言:python代码运行次数:0运行复制
import matplotlib.pyplot as plt

# 数据
x = [0, 1, 2, , 4]
y = [0, 1, 4, 9, 16]

# 创建图形
plt.plot(x, y)

# 添加标题和标签
("简单折线图")
plt.xlabel("X轴")
plt.ylabel("Y轴")

# 显示图形
plt.show()

输出:

一个简单的折线图,显示了x与y的关系。

自定义图形样式

Matplotlib支持自定义图形的样式、颜、线型等,下面是如何改变线型和颜的例子:

代码语言:python代码运行次数:0运行复制
plt.plot(x, y, color='green', linestyle='--', marker='o')

("定制样式的折线图")
plt.xlabel("X轴")
plt.ylabel("Y轴")

plt.show()

输出:

这将绘制一个绿的虚线折线图,并在每个数据点处加上圆形标记。

Seaborn数据可视化

Seaborn安装与介绍

Seaborn是一个基于Matplotlib的高级库,能够帮助用户轻松绘制出美观的统计图形。安装方法如下:

代码语言:python代码运行次数:0运行复制
pip install seaborn

绘制常见统计图

Seaborn专注于统计图形,最常见的图形类型包括散点图、条形图和箱线图。下面是如何绘制散点图的例子:

代码语言:python代码运行次数:0运行复制
import seaborn as sns
import matplotlib.pyplot as plt

# 加载内置数据集
tips = sns.load_dataset("tips")

# 绘制散点图
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time")

("小费与账单金额的散点图")
plt.show()

输出:

一个彩的散点图,显示了账单金额与小费的关系,同时根据用餐时间(午餐/晚餐)着。

Plotly交互式图形

Plotly安装与基础概念

Plotly是一个用于创建交互式图形的库,适合动态和响应式的数据可视化。安装方法如下:

代码语言:python代码运行次数:0运行复制
pip install plotly

绘制交互式图表

Plotly的绘图非常直观,并且支持交互功能,例如缩放、平移和数据悬浮显示。以下是绘制交互式散点图的示例:

代码语言:python代码运行次数:0运行复制
import  as px

# 加载数据
tips = px.()

# 绘制交互式散点图
fig = px.scatter(tips, x="total_bill", y="tip", color="time", title="小费与账单金额的关系")
fig.show()

输出:

你将看到一个交互式的散点图,能够缩放并通过悬浮查看数据点的具体信息。

案例分析:数据可视化应用

用Matplotlib绘制线性回归图

假设我们有一组简单的线性回归数据,以下是如何使用Matplotlib绘制回归线的示例:

代码语言:python代码运行次数:0运行复制
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# 生成数据
x = np.random.rand(100, 1)
y = 2 * x + 1 + np.random.randn(100, 1)

# 创建回归模型
model = LinearRegression()
model.fit(x, y)

# 绘制散点图
plt.scatter(x, y, color='blue', label='数据点')

# 绘制回归线
plt.plot(x, model.predict(x), color='red', label='回归线')

("线性回归图")
plt.xlabel("X")
plt.ylabel("Y")
plt.legend()

plt.show()

输出:

一个包含数据点和回归线的图形,回归线能够很好地拟合数据。

用Seaborn绘制分类数据分布图

Seaborn特别擅长绘制分类数据的分布情况。以下是绘制分类数据分布图的代码:

代码语言:python代码运行次数:0运行复制
import seaborn as sns
import matplotlib.pyplot as plt

# 加载数据
tips = sns.load_dataset("tips")

# 绘制箱线图
sns.boxplot(x="day", y="total_bill", data=tips)

("不同日子的账单金额分布")
plt.show()

输出:

一个箱线图,展示了不同星期几账单金额的分布情况。

使用Plotly展示金融数据

Plotly非常适合展示金融数据,以下是一个简单的股票价格走势图:

代码语言:python代码运行次数:0运行复制
import plotly.graph_objects as go

# 示例股票数据
dates = ["2024-01-01", "2024-01-02", "2024-01-0", "2024-01-04", "2024-01-05"]
prices = [100, 102, 101, 105, 110]

# 创建股票价格图表
fig = go.Figure(data=[go.Candlestick(x=dates,
                                    open=[100, 102, 101, 105, 110],
                                    high=[102, 10, 104, 106, 112],
                                    low=[99, 100, 101, 102, 109],
                                    close=prices)])

fig.update_layout(title="2024年1月股票价格走势", xaxis_title="日期", yaxis_title="价格")
fig.show()

输出:

一个交互式的股票K线图,用户可以缩放并查看具体日期的价格波动。

Matplotlib、Seaborn 和 Plotly 常用函数的大全

Python绘图库函数大全

在数据可视化过程中,MatplotlibSeabornPlotly 是常用的库。以下是这三个库的一些常用函数及其功能介绍。


1. Matplotlib常用函数

函数名

用途

示例代码

plt.plot()

绘制折线图

plt.plot(x, y)

plt.scatter()

绘制散点图

plt.scatter(x, y)

plt.bar()

绘制条形图

plt.bar(x, height)

plt.hist()

绘制直方图

plt.hist(data, bins=10)

plt.boxplot()

绘制箱线图

plt.boxplot(data)

plt.subplot()

创建子图

plt.subplot(2, 2, 1) # 2行2列中的第1个图

()

设置图表标题

('My Plot Title')

plt.xlabel()

设置X轴标签

plt.xlabel('X Axis Label')

plt.ylabel()

设置Y轴标签

plt.ylabel('Y Axis Label')

plt.legend()

显示图例

plt.legend(['Line 1', 'Line 2'])

plt.show()

显示图形

plt.show()

plt.savefig()

保存图形为文件

plt.savefig('plot.png')

ax.plot()

在特定轴对象上绘制折线图

ax.plot(x, y)

ax.set_title()

设置子图的标题

ax.set_title('Subplot Title')

ax.set_xlabel()

设置子图的X轴标签

ax.set_xlabel('X Axis')

ax.set_ylabel()

设置子图的Y轴标签

ax.set_ylabel('Y Axis')


2. Seaborn常用函数

函数名

用途

示例代码

sns.scatterplot()

绘制散点图

sns.scatterplot(data=df, x="column1", y="column2", hue="category")

sns.lineplot()

绘制线性图

sns.lineplot(data=df, x="time", y="value", hue="category")

sns.barplot()

绘制条形图

sns.barplot(x="category", y="value", data=df)

sns.boxplot()

绘制箱线图

sns.boxplot(x="category", y="value", data=df)

sns.heatmap()

绘制热力图

sns.heatmap(data, annot=True, cmap="coolwarm")

sns.pairplot()

绘制数据的所有变量组合的散点图

sns.pairplot(df, hue="category")

sns.histplot()

绘制直方图或密度图

sns.histplot(data=df, x="value", kde=True)

sns.violinplot()

绘制小提琴图

sns.violinplot(x="category", y="value", data=df)

()

创建分类图形(支持条形图、箱线图等)

(x="category", y="value", data=df, kind="box")

sns.set_style()

设置绘图的风格

sns.set_style("whitegrid")

sns.set_palette()

设置颜调板

sns.set_palette("muted")

sns.despine()

去除图形的边框

sns.despine()


. Plotly常用函数

函数名

用途

示例代码

.scatter()

绘制散点图

fig = px.scatter(df, x="column1", y="column2", color="category")

.line()

绘制线图

fig = px.line(df, x="time", y="value", color="category")

.bar()

绘制条形图

fig = px.bar(df, x="category", y="value")

.box()

绘制箱线图

fig = px.box(df, x="category", y="value")

.histogram()

绘制直方图

fig = px.histogram(df, x="value", nbins=20)

plotly.graph_objects.Candlestick()

绘制K线图(股票数据)

fig = go.Figure(data=[go.Candlestick(x=dates, open=open_prices, high=high_prices, low=low_prices, close=close_prices)])

fig.update_layout()

更新图表布局(标题、轴标签等)

fig.update_layout(title="My Chart Title", xaxis_title="X Axis", yaxis_title="Y Axis")

fig.update_traces()

更新图形的特性(如颜、大小等)

fig.update_traces(marker=dict(color='red', size=10))

fig.update_xaxes() / fig.update_yaxes()

更新X轴或Y轴的属性

fig.update_xaxes(showgrid=False)


总结

在本文中,我们介绍了Python常用的绘图库:Matplotlib、Seaborn和Plotly。每个库都有其独特的功能和优点:

Matplotlib:强大而灵活,适合基础图形的绘制。

Seaborn:简洁易用,适合绘制统计图形。

Plotly:适合绘制交互式图形,适用于动态数据展示。

通过本文的实例,你应该能够在实际项目中选择合适的库,并高效地进行数据可视化工作。希望你能在数据分析和科学研究的过程中,充分利用这些强大的工具。

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1204917.html

相关标签:无
上传时间: 2025-07-24 07:37:28
留言与评论(共有 7 条评论)
本站网友 中山房产
10分钟前 发表
Seaborn数据可视化Seaborn安装与介绍Seaborn是一个基于Matplotlib的高级库
本站网友 瘦身咖啡
21分钟前 发表
annot=True
本站网友 春申二手房
27分钟前 发表
size=10)) fig.update_xaxes() / fig.update_yaxes()更新X轴或Y轴的属性 fig.update_xaxes(showgrid=False) 总结在本文中
本站网友 上海师范大学天华
4分钟前 发表
2
本站网友 工商银行的网址
23分钟前 发表
平移和数据悬浮显示
本站网友 阳光茗都
6分钟前 发表
y="value"