Mathplotlib, реально ли сделать круговой срез на данном графике 3д и редактировать его значения?

введите сюда описание изображениявведите сюда описание изображенияНеобходимо сделать срез круга внутри 3д графика, с помощью которого можно было бы редактировать значения и менять чувствительность графика в заданной точке. На рисунке выделил примерную область круга, в которой можно было бы отдельно от всего графика менять значения. Т.е. на плоскости этого квадрата нарисовать овал, а на территории овала управлять уровнем нормального распределения. Реально ли такое?

from matplotlib.colors import LinearSegmentedColormap

import matplotlib.pyplot as plt
import numpy as np

def makeData():
    x = np.linspace(3, 2.5, 100)
    y = np.linspace(3, 2.5, 100)

    xgrid, ygrid = np.meshgrid(x, y)
##    print("Двумерную матрица", xgrid, ygrid)

    z = np.random.normal(xgrid, ygrid)  
##    print("Значения функции", z)
    
    return xgrid, ygrid, z

if __name__ == '__main__':
    x, y, z = makeData()

##    x1 = -3
##    y2 = -6
##    z3 = -9
##    mask = np.sqrt((x-x1)**2+(y-y2)**2+(z-z3)**2)
##    print(mask)
##    r = 3
##    for x in range(0,100):
##            for y in range(0,100):
##                if mask[x,y] < r:
##                        mask[x,y] = 0
##                elif mask[x,y] >= r:
##                        mask[x,y] = 2.5
    
    fig = plt.figure(figsize=(10, 10))
    axes = plt.axes(projection="3d")

    cmap = LinearSegmentedColormap.from_list('red_blue', ['b', 'y', 'r'], 256)
    axes.plot_surface(x, y, z, color='#11aa55', cmap=cmap)

##    axes.plot_surface(x1,y2,mask, color='#11aa55', cmap=cmap)
    plt.show()

введите сюда описание изображения


Ответы (0 шт):