【100天精通Python】Day66:Python可视化_Matplotlib 3D绘图,绘制3D曲面图、3D填充图,3D极坐标图,示例+代码

简介: 【100天精通Python】Day66:Python可视化_Matplotlib 3D绘图,绘制3D曲面图、3D填充图,3D极坐标图,示例+代码

1 绘制曲面图

当绘制3D曲面图时,mpl_toolkits.mplot3d 模块中的 Axes3D 对象提供了多种方法来呈现不同类型的曲面图。以下是一些常见的3D曲面图类型以及示例:

曲面图:使用 plot_surface 函数来绘制平滑的曲面图。

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
# 创建示例数据
x = np.linspace(-5, 5, 50)
y = np.linspace(-5, 5, 50)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))
# 创建图形和子图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制曲面图
ax.plot_surface(X, Y, Z, cmap='viridis')
# 添加标题
plt.title('3D曲面图示例')
# 添加坐标轴标签
ax.set_xlabel('X轴')
ax.set_ylabel('Y轴')
ax.set_zlabel('Z轴')
# 显示图形
plt.show()

 彩虹曲面图:使用 plot_surface 函数,并通过设置 cmap 参数为"rainbow"来绘制带有彩虹颜色映射的曲面图。

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
# 创建示例数据
x = np.linspace(-5, 5, 50)
y = np.linspace(-5, 5, 50)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))
# 创建图形和子图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制带有彩虹颜色映射的曲面图
ax.plot_surface(X, Y, Z, cmap='rainbow')
# 添加标题
plt.title('带有彩虹颜色映射的3D曲面图示例')
# 添加坐标轴标签
ax.set_xlabel('X轴')
ax.set_ylabel('Y轴')
ax.set_zlabel('Z轴')
# 显示图形
plt.show()

2 绘制3D填充图

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 创建数据
x = np.linspace(0, 2*np.pi, 100)
y = np.linspace(0, 2*np.pi, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(X) * np.cos(Y)
# 创建图形和轴
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制3D填充图
ax.plot_surface(X, Y, Z, cmap='coolwarm')
# 添加填充区域1
ax.plot([x[0], x[-1]], [y[0], y[0]], [Z[0][0], Z[0][-1]], color='blue', alpha=0.5)
ax.plot([x[0], x[-1]], [y[-1], y[-1]], [Z[-1][0], Z[-1][-1]], color='red', alpha=0.5)
# 添加填充区域2
ax.plot([x[0], x[0]], [y[0], y[-1]], [Z[0][0], Z[-1][0]], color='blue', alpha=0.5)
ax.plot([x[-1], x[-1]], [y[0], y[-1]], [Z[0][-1], Z[-1][-1]], color='red', alpha=0.5)
# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
# 显示图形
plt.show()

       首先,我们创建了数据集 X、Y 和 Z,这些数据用于定义三维空间中的坐标和值。然后,我们创建了图形对象和轴对象,并使用 plot_surface 函数将数据展示为3D曲面。接下来,通过调用 plot 函数来绘制填充区域的边界线,使用不同颜色和透明度的线条表示不同的区域。最后,我们设置了坐标轴标签并显示图形。

 

3 绘制极坐标

       3D极坐标图可以使用 polar 函数进行绘制。该函数使用极坐标表示数据,并通过指定角度、半径和值来确定数据点的位置。

下面是一个绘制3D极坐标图的示例:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 创建数据
theta = np.linspace(0, 2*np.pi, 100)
r = np.linspace(0, 1, 100)
Theta, R = np.meshgrid(theta, r)
X = R * np.cos(Theta)
Y = R * np.sin(Theta)
Z = np.exp(-R**2)
# 创建图形和轴
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制3D极坐标图
ax.plot_surface(X, Y, Z, cmap='viridis')
# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
# 显示图形
plt.show()

      在这个示例中,我们使用 np.meshgrid 创建了极坐标的角度 theta 和半径 r,并计算了由 X、Y 和 Z 表示的数据点坐标。然后,我们使用 plot_surface 函数绘制了三维曲面。最后,我们设置了坐标轴标签并显示图形。

目录
相关文章
|
2月前
|
Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
|
2月前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
50 1
|
11天前
|
编解码 数据可视化 数据挖掘
matplotlib绘制三维曲面图时遇到的问题及解决方法
本文详细介绍了在使用Matplotlib绘制三维曲面图时可能遇到的问题及其解决方法。从数据维度匹配到颜色映射,从图形显示到保存,涵盖了常见的各种情况。通过正确处理这些问题,可以确保生成高质量的三维可视化图形,为数据分析和展示提供有力支持。希望本文对您在使用Matplotlib进行三维绘图时有所帮助。
11 0
|
2月前
|
存储 数据可视化 数据挖掘
揭秘!Matplotlib与Seaborn联手,如何让Python数据分析结果一目了然,惊艳全场?
在数据驱动时代,高效直观地展示分析结果至关重要。Python中的Matplotlib与Seaborn是两大可视化工具,结合使用可生成美观且具洞察力的图表。本文通过分析某电商平台的商品销量数据集,展示了如何利用这两个库揭示商品类别与月份间的销售关系及价格对销量的影响。首先使用Matplotlib绘制月份销量分布直方图,再借助Seaborn的箱线图进一步探索不同类别和价格区间下的销量稳定性。
63 10
|
2月前
|
数据可视化 Python
Python中的数据可视化:使用Matplotlib绘制图表
【9月更文挑战第11天】在这篇文章中,我们将探索如何使用Python的Matplotlib库来创建各种数据可视化。我们将从基本的折线图开始,然后逐步介绍如何添加更多的功能和样式,以使您的图表更具吸引力和信息量。无论您是数据科学家、分析师还是任何需要将数据转化为视觉形式的专业人士,这篇文章都将为您提供一个坚实的起点。让我们一起潜入数据的海洋,用视觉的力量揭示其背后的故事。
55 16
|
2月前
|
数据可视化 数据挖掘 API
使用Python进行数据可视化:探索Matplotlib和Seaborn库
【9月更文挑战第19天】在数据科学领域,将复杂的数据集转换成直观、易懂的图形是一项基本而关键的技能。本文旨在通过Python编程语言介绍两个强大的数据可视化库——Matplotlib和Seaborn,以及它们如何帮助数据分析师和研究人员揭示数据背后的故事。我们将从基础概念讲起,逐步深入到高级技巧,确保无论读者的背景如何,都能获得必要的知识和启发,以在自己的项目中实现有效的数据可视化。
|
2月前
|
机器学习/深度学习 数据采集 监控
Pandas与Matplotlib:Python中的动态数据可视化
Pandas与Matplotlib:Python中的动态数据可视化
|
3月前
|
数据可视化 Python
Python绘制定制3D曲面图
8月更文挑战第19天
|
2月前
|
数据可视化 数据处理 Python
Matplotlib:Python绘图利器之王
Matplotlib:Python绘图利器之王
17 0
|
3月前
|
数据可视化 物联网 区块链
探索Python中的数据可视化:使用Matplotlib和Seaborn绘制图表探索未来:区块链、物联网与虚拟现实的融合趋势与应用前景
【8月更文挑战第30天】本文旨在引导读者通过Python编程语言,利用Matplotlib和Seaborn库,轻松掌握数据可视化技术。文章以浅显易懂的语言,结合实用的代码示例,从基础的图表绘制到高级定制功能,逐步深入讲解如何在数据分析中运用这些工具。无论你是编程新手还是希望提升可视化技能的开发者,都能在这篇文章中找到有价值的信息,让你的数据“活”起来。