写一个画图函数能够给图添加滑块和文本框来改变和显示参数并实时查看函数值的变化实现交互式输入为要绘制的函数和参数初始值
下面是一个使用Matplotlib库实现的画图函数,能够给图添加滑块和文本框来改变和显示参数,并实时查看函数值的变化。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider, TextBox
def plot_function(func, param_init):
fig, ax = plt.subplots()
plt.subplots_adjust(left=0.25, bottom=0.25)
x = np.linspace(-10, 10, 1000)
y = func(x, param_init)
line, = plt.plot(x, y)
ax.margins(x=0)
axcolor = 'lightgoldenrodyellow'
ax_param = plt.axes([0.25, 0.1, 0.65, 0.03], facecolor=axcolor)
ax_text = plt.axes([0.25, 0.15, 0.65, 0.03], facecolor=axcolor)
slider_param = Slider(ax_param, 'Parameter', -10.0, 10.0, valinit=param_init)
text_param = TextBox(ax_text, 'Parameter', initial=str(param_init))
def update(val):
param = slider_param.val
text_param.set_val(str(param))
line.set_ydata(func(x, param))
fig.canvas.draw_idle()
slider_param.on_changed(update)
text_param.on_submit(lambda val: slider_param.set_val(float(val)))
plt.show()
# 示例函数,可以替换成任意你想要绘制的函数
def func(x, param):
return x ** param
plot_function(func, 2)
在这个例子中,我们使用plot_function函数来绘制函数图像。其中func参数是一个函数,用来计算给定参数值的函数值。param_init是参数的初始值。
这个函数首先创建了一个图像窗口,并设置了滑块和文本框的位置。然后通过调用func函数计算函数值,并绘制图像。接着创建了一个滑块和一个文本框,用于改变参数的值。当滑块或文本框的值发生变化时,会更新参数的值,并重新计算函数值,并更新图像。
你可以根据需要修改func函数来绘制你想要的函数图像
原文地址: https://www.cveoy.top/t/topic/hHnB 著作权归作者所有。请勿转载和采集!