当前位置: 首页 > article >正文

绘制3D图

一个 3D 函数的表面图,其中包含向量场。

Python 代码示例,使用 matplotlib 和 numpy 库来绘制类似的图。

python
复制代码

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 生成网格
x = np.linspace(-5, 5, 50)
y = np.linspace(-5, 5, 50)
X, Y = np.meshgrid(x, y)
Z = np.exp(-((X - 2) ** 2 + (Y - 2) ** 2)) + np.exp(-((X + 2) ** 2 + (Y + 2) ** 2)) + np.exp(-((X - 2) ** 2 + (Y + 2) ** 2))

# 计算梯度 (向量场)
U, V = np.gradient(Z)

# 创建3D图形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 绘制表面图
ax.plot_surface(X, Y, Z, cmap='Reds', edgecolor='none', alpha=0.8)

# 绘制向量场
ax.quiver(X, Y, Z, U, V, 0, color='black', length=0.1)

# 隐藏坐标轴
ax.set_xticks([])
ax.set_yticks([])
ax.set_zticks([])
ax.set_axis_off()

# 设置视角
ax.view_init(elev=30, azim=60)

plt.show()

效果图如下
在这里插入图片描述


http://www.kler.cn/a/389063.html

相关文章:

  • Python数据类型(一):bool布尔类型
  • 21. Drag-Drop拖放操作(二) - 文件、表格和树的拖放实现
  • flink sql + kafka + mysql 如何构建实时数仓
  • 《情商》提升:增强自我意识,学会与情绪共处
  • 同三维T610UDP-4K60 4K60 DP或HDMI或手机信号采集卡
  • 线性表-数组描述补充 迭代器(C++)
  • Python学习从0到1 day26 第三阶段 Spark ⑤ 搜索引擎日志分析
  • Python处理PDF组件使用及注意事项
  • API网关如何在iPaaS平台中助企业构建安全高效的API生态体系
  • HTML5+css3(浮动,浮动的相关属性,float,解决浮动的塌陷问题,clear,overflow,给父亲盒子加高度,伪元素)
  • C语言中操作符详解(上)
  • 【云原生开发】K8S集群管理后端开发设计与实现
  • [C++] GDB的调试和自动化检测
  • 计算机课程管理:Spring Boot与工程认证的协同
  • BIST(Built-in Self-Test,内建自测试)学习笔记
  • 项目功能--套餐预约占比饼形图
  • SQL注入(SQL Injection)详解
  • 十大经典排序算法-冒泡算法详解介绍
  • Linux下进程链接结构,命令行参数,环境变量
  • 【论文阅读】Learning dynamic alignment via meta-filter for few-shot learning
  • Django替换现有用户模型(auth_user)
  • 《潜行者2切尔诺贝利之心》游戏引擎介绍
  • Jest项目实战(2): 项目开发与测试
  • 鸿蒙next版开发:ArkTS组件快捷键事件详解
  • 密码学知识点整理二:常见的加密算法
  • c语言中的柔性数组