python绘制曲面图_Python:有没有办法用Matplotlib绘制“部分”曲面图?

编辑:请看tom10的答案。他的解决方案是将排除部分的值设置为np.南斯. 在

matplotlib的plot_surface似乎不接受np.南斯作为坐标,这样也行不通。如果我正确地理解了您的问题,那么我至少可以提供一种胶带解决方案:

如果不是像MEVIS3000建议的那样将“切出”点设置为零,而是将它们设置为该维度中的最后一个值,则二维数组的大小都相同,曲面看起来就像在那里切割的一样。在

我在您的示例中添加了一些数据点以使其更清楚。这是起点(整个曲面可见):import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

X = np.array([[0, 1, 2, 3, 4, 5],

[0, 1, 2, 3, 4, 5],

[0, 1, 2, 3, 4, 5],

])

Y = np.array([[0, 0, 0, 0, 0, 0],

[1, 1, 1, 1, 1, 1],

[2, 2, 2, 2, 2, 2],

])

Z = np.array([[0.5, 0.4, 0.35, 0.32, 0.312, 0.3],

[0.9, 0.7, 0.60, 0.55, 0.525, 0.5],

[1.0, 1.1, 1.20, 1.30, 1.400, 1.5],

])

fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

ax.plot_surface(X,Y,Z)

plt.show()

生成的曲面如下所示(从上方看):

现在,如果我们调整数组,以便用该行中以前的值替换“缺少的”值,则可以忽略曲面的一部分:

^{pr2}$

生成的图表如下所示(同样来自同一视图):

这不是一个很好的解决办法,但这是一种办法。我会给你留下一个自动化“切断”的问题。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值