Как сделать, чтобы менять значения в запущенной программе в окне mathplotlib?

Хочу сделать ввод из запущенной программы значения матожидания, дисперсии и кол-во точек на графике, однако реализации в 3D не нашел. Код программы, и пример который хочу получить ниже.

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LinearSegmentedColormap
from matplotlib.widgets import TextBox

def makeData():
    x = np.linspace(19.5, 20, 1000)  # координаты и количество точек
    y = np.linspace(19.5, 20, 1000)
    xgrid, ygrid = np.meshgrid(x, y)

    z = np.random.normal(xgrid, ygrid)

    r = .1  # радиус маски
    x0, y0 = 19.7, 19.8  # центр маски
    X, Y = np.meshgrid(x, y)
    mask = (X - x0) ** 2 + (Y - y0) ** 2 < r ** 2

    return xgrid, ygrid, z, X, Y, mask

##def submit(text):
##    ydata = eval(text)
##    l.set_ydata(ydata)
##    ax.set_ylim(np.min(ydata), np.max(ydata))
##    plt.draw()
    
if __name__ == '__main__':
    x, y, z, X, Y, mask = makeData()

    fig = plt.figure(figsize=(10, 10))
    axes = plt.axes(projection="3d")

    cmap = LinearSegmentedColormap.from_list('red_blue', ['b', 'y', 'r'], 256)

    vvod=axes.plot_surface(x, y, z *(1 + mask * 0.75), color='#11aa55', cmap=cmap)
    
##    text_box = TextBox(vvod, 'Evaluate', initial=x)
##    text_box = TextBox(vvod, 'Evaluate', initial=y)
##    text_box.on_submit(submit)

    plt.show()

Пример 2D графика который я хочу получить


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