如何在 Matplotlib 中创建曲面图
在 Matplotlib 中,我们使用 mplot3d
工具包进行 3-D 分析和可视化,其中包含基于 Matplotlib 的 2-D 函数构建的 3-D 绘图方法。我们可以通过将 projection='3d'
参数传递给 Matplotlib 中任何轴的创建函数来创建 3-D 轴。初始化 3-D 轴后,我们可以使用 plot_surface()
方法生成曲面图。
Axes3D.plot_surface()
方法
我们可以使用 Axes3D.plot_surface(X, Y, Z, *args, **kwargs)
方法创建表面图其中 X,Y 和 Z 均为二维数组。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
fig = plt.figure(figsize=(8,6))
ax3d = plt.axes(projection="3d")
xdata = np.linspace(-3,3,100)
ydata = np.linspace(-3,3,100)
X,Y = np.meshgrid(xdata,ydata)
Z = 1/(1+np.exp(-X-Y))
ax3d = plt.axes(projection='3d')
ax3d.plot_surface(X, Y, Z,cmap='plasma')
ax3d.set_title('Surface Plot in Matplotlib')
ax3d.set_xlabel('X')
ax3d.set_ylabel('Y')
ax3d.set_zlabel('Z')
plt.show()
这样,Matplotlib 会在 3D 空间中生成曲面图。这里的 cmap 参数用于在 3D 色彩空间中很好地表示我们的数据。图的颜色随因变量值的变化而变化。
我们可以根据以下参数自定义图:
-
rstride
:行步长,默认值为 10 -
cstride
:列步长,默认值为 10 -
color
:表面的颜色 -
cmap
:表面的颜色图 -
facecolors
:表面中每个补丁的面部颜色 -
norm
:Normalize 的一个实例,用于将值映射到颜色 -
vmin
:要映射的最小值 -
vmax
:要映射的最大值 -
shade
:是否遮罩脸部颜色
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
fig = plt.figure(figsize=(8,6))
ax3d = plt.axes(projection="3d")
xdata = np.linspace(-3,3,100)
ydata = np.linspace(-3,3,100)
X,Y = np.meshgrid(xdata,ydata)
Z = 1/(1+np.exp(-X-Y))
ax3d = plt.axes(projection='3d')
surf=ax3d.plot_surface(X, Y, Z, rstride=7, cstride=7, cmap="viridis")
fig.colorbar(surf, ax=ax3d)
ax3d.set_title('Surface Plot in Matplotlib')
ax3d.set_xlabel('X')
ax3d.set_ylabel('Y')
ax3d.set_zlabel('Z')
plt.savefig("Customized Surface Plot.png")
plt.show()
在这个例子中,我们通过使用 colorbar()
方法在图形中添加一个颜色条,并将表面绘图对象传递给该方法,这使图形更具信息性。
相关文章
Django 中的 Slug
发布时间:2023/05/04 浏览次数:173 分类:Python
-
本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。
在 Django 中按降序过滤查询集中的项目
发布时间:2023/05/04 浏览次数:157 分类:Python
-
在这个讲解中,学习如何借助 Django 中的 order_by() 方法按降序过滤出查询集中的项目。
Django ALLOWED_HOSTS 介绍
发布时间:2023/05/04 浏览次数:181 分类:Python
-
本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。
Django 中的 Select_related 方法
发布时间:2023/05/04 浏览次数:129 分类:Python
-
本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。
使用 Post 请求将数据发送到 Django 服务器
发布时间:2023/05/04 浏览次数:159 分类:Python
-
在这篇关于Django的讲解中,我们简要介绍了post和get请求以及如何在Django中用post实现CSRF token。
Django 返回 JSON
发布时间:2023/05/04 浏览次数:106 分类:Python
-
在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。
在 Django 中创建对象
发布时间:2023/05/04 浏览次数:59 分类:Python
-
本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。
在 Django 中为多项选择创建字段
发布时间:2023/05/04 浏览次数:75 分类:Python
-
在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。