小编bit*_*oal的帖子

只使用matplotlib绘制3d图的一部分

当我使用python的matplotlib绘制一个3d图时,我遇到了问题.使用以下python函数,我得到了这个数字:

图1

在这里X,Y有孔栅格和ZZ_的功能XY.C代表表面颜色.

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

def plot(X, Y, Z, Z_, C):
   fig = plt.figure()
   ax = fig.gca(projection='3d')
   surf = ax.plot_surface(
           X, Y, Z, rstride=1, cstride=1,
           facecolors=cm.jet(C),
           linewidth=0, antialiased=False, shade=False)
   surf_ = ax.plot_surface(
           X, Y, Z_, rstride=1, cstride=1,
           facecolors=cm.jet(C),
          linewidth=0, antialiased=False, shade=False)                    
   ax.view_init(elev=7,azim=45)
   plt.show()
Run Code Online (Sandbox Code Playgroud)

但现在我想水平切割这个数字,只剩下z在-1和2之间的部分.

用gnuplot绘制的我想要的是:

图2

我曾尝试ax.set_zlim3dax.set_zlim,但他们都没有给我想要的数字.有人知道如何使用python做到这一点吗?

python plot matplotlib

3
推荐指数
1
解决办法
1020
查看次数

标签 统计

matplotlib ×1

plot ×1

python ×1