Slider matplotlib не работает, когда график обновляется в отдельной функцииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Slider matplotlib не работает, когда график обновляется в отдельной функции

Сообщение Anonymous »

Я использую ползунок Matplotlib, чтобы сделать простой динамический график синусоидальной кривой. Я хочу изменить частоту, используя слайдер. Код выглядит так: < /p>
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider

x = np.linspace(400, 800, 400)

fig, ax = plt.subplots()
fig.subplots_adjust(bottom=0.25)
mod = 1.
lambda_plot, = ax.plot(x, np.sin(mod*x*2*np.pi/500))

ax_mod_slider = fig.add_axes([0.3, 0.1, 0.5, 0.04])
mod_slider = Slider(
ax = ax_mod_slider,
label = "modulation",
valmin = 0,
valmax = 20,
valinit = 1.,
orientation = "horizontal")

def update_mod(val):
mod = mod_slider.val
redraw()
fig.canvas.draw_idle()

def redraw():
lambda_plot.set_ydata(np.sin(mod*x*2*np.pi/500))

mod_slider.on_changed(update_mod)

plt.show()
< /code>
Это работает только в том случае, если я помещаю код в redraw () непосредственно в Update_mod (), например: < /p>
def update_mod(val):
mod = mod_slider.val
lambda_plot.set_ydata(np.sin(mod*x*2*np.pi/500))
fig.canvas.draw_idle()
< /code>
Почему я не могу вызвать другую функцию для изменения графика? В этом примере я мог бы поместить все это в Update_Mod (), но, поскольку я делаю более сложные расчеты, я подумал, что было бы хорошо иметь возможность разделить update_mod () на отдельные функции.

Подробнее здесь: https://stackoverflow.com/questions/796 ... e-function
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Настройка тиков для com.google.android.material.slider.Slider
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Настройка тиков для com.google.android.material.slider.Slider
    Anonymous » » в форуме Android
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как получить значение Slider Slider Bootstrap 5 "на слайде"
    Anonymous » » в форуме Jquery
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Как разрезать 2D-линейный график, чтобы создать 3D-график поверхности (или контурный график)? Питон
    Anonymous » » в форуме Python
    0 Ответы
    73 Просмотры
    Последнее сообщение Anonymous
  • Добавить график Unicode в график matplotlib
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»