简体   繁体   中英

matplotlib surface plot limited by the boundaries

Is there any kind of chance to "cut" the surface plot (x,y,z) made by use of the matplotlib by some well defined boundaries, so that I can draw any kind of shape in 3D. Now I can do that but x,y are 2D arrays (meshgrid) and the shape is always rectangular.

Example:

Here, the plate has a base-shape of rectangular (2d-array are used). The z coordinates are derived by some function f=f(x,y). 在此处输入图片说明

What I would like achieve is shown in the picture below (made by hand ;)). One idea is to turn-off a single cell. But how to make the cells transparent?

在此处输入图片说明

What you'd like is to mask some regions in the surface. Unfortunately, matplotlib does not support masked arrays yet for plot_surface , but you could circumvent it by using np.nan for those masked regions. It is also detailed in plotting-a-masked-surface-plot-using-python-numpy-and-matplotlib .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM