You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在matplotlib中绘制仅基于单变量计算两个函数的3D图

3D单变量参数图实现方法

你要实现的是单变量X驱动的3D曲线/散点图,所有主流3D绘图库均支持该需求,无需构造常见的X-Y二维网格数据。

实现逻辑

仅需准备3个长度完全一致的一维数组即可:

  • 一维数组x:存储你的原始数据点
  • 一维数组y:每个元素对应y[i] = f(x[i])的计算结果
  • 一维数组z:每个元素对应z[i] = g(x[i])的计算结果

Python Matplotlib 实现示例

依赖导入

import numpy as np
import matplotlib.pyplot as plt

自定义函数与数据生成

# 可替换为你自己的f(X)、g(X)实现
def f(x):
    return np.sin(x)
def g(x):
    return np.cos(x)

# 生成X轴原始数据点
x = np.linspace(0, 4*np.pi, 200)
# 计算对应Y、Z值
y = f(x)
z = g(x)

3D散点图绘制

fig = plt.figure()
ax = fig.add_subplot(projection='3d')
# 绘制散点
ax.scatter(x, y, z, c='red', marker='o')
# 设置坐标轴标签
ax.set_xlabel('X (原始数据点)')
ax.set_ylabel('Y = f(X)')
ax.set_zlabel('Z = g(X)')
plt.show()

3D连续曲线绘制

仅需将上述绘制代码中的scatter方法替换为plot即可:

ax.plot(x, y, z, c='blue', linewidth=2)

MATLAB 实现示例

% 生成数据
x = linspace(0, 4*pi, 200);
y = sin(x);
z = cos(x);
% 绘制3D曲线
plot3(x, y, z, 'b-', 'LineWidth', 2);
% 设置坐标轴标签
xlabel('X (原始数据点)');
ylabel('Y = f(X)');
zlabel('Z = g(X)');
grid on;

内容的提问来源于stack exchange,提问作者sycramore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:06:05