En python, podemos trazar gráficos usando muchas bibliotecas y funciones. Aquí, en este artículo, nuestro enfoque principal es agregar controles deslizantes a nuestros gráficos. Pero antes de avanzar hacia el control deslizante, es necesario saber cómo trazar un gráfico básico en python usando matplotlib.pyplot.
Desplazarse por las parcelas
Los gráficos de desplazamiento son los gráficos que se actualizan a medida que cambiamos la escala del gráfico usando un control deslizante. Se puede agregar un control deslizante a una gráfica usando matplotlib y la biblioteca plotly. En este tutorial, aprenderemos a generar controles deslizantes utilizando la biblioteca matplotlib.pyplot.
Desplazarse por las tramas puede no parecer útil o necesario para todos y cada uno de los casos, pero sin duda es una característica beneficiosa. Hay casos en los que los datos son enormes y no pueden caber en un gráfico dinámico e incluso si cabe, habrá una colisión entre los puntos del gráfico. Por lo tanto, el uso de un control deslizante reducirá las colisiones entre los puntos y hará que se vea presentable y limpio. Además, será fácil de estudiar.
Función Slider(): La función Slider() es una función que está presente en matplotlib.widgets y ayuda al programador a agregar un control deslizante en los gráficos. La sintaxis básica de matplotlib.widget.Slider() es
Sintaxis: matplotlib.widgets.Slider(eje, etiqueta, val_min, val_max, valinit=0.5, valfmt=Ninguno, closed_min=True, closed_max=True, slider_min=Ninguno, slider_max=Ninguno, arrastrar=Verdadero, val_step=Ninguno, orientación= ‘horizontal’, **kwargs)
Ejemplo 1: Desplácese por los controles deslizantes.
Acercarse:
- Importar módulos
- Establezca la trama y el eje en las subtramas
- Ajustar el tamaño del widget deslizante
- Establezca algunos datos ficticios en los ejes x e y
- Trace el gráfico utilizando los datos ficticios
- Establecer la posición del control deslizante y trazar
- Definir una función de actualización que cambiará la representación del gráfico cuando movamos el control deslizante
- Establezca la función de actualización en el control deslizante usando la función on_changed() para implementar los cambios.
- Trace el gráfico junto con el control deslizante.
A continuación se muestra la implementación:
Python3
# Import libraries using import keyword import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider # Setting Plot and Axis variables as subplots() # function returns tuple(fig, ax) Plot, Axis = plt.subplots() # Adjust the bottom size according to the # requirement of the user plt.subplots_adjust(bottom=0.25) # Set the x and y axis to some dummy data t = np.arange(0.0, 100.0, 0.1) s = np.sin(2*np.pi*t) # plot the x and y using plot function l = plt.plot(t, s) # Choose the Slider color slider_color = 'White' # Set the axis and slider position in the plot axis_position = plt.axes([0.2, 0.1, 0.65, 0.03], facecolor = slider_color) slider_position = Slider(axis_position, 'Pos', 0.1, 90.0) # update() function to change the graph when the # slider is in use def update(val): pos = slider_position.val Axis.axis([pos, pos+10, -1, 1]) Plot.canvas.draw_idle() # update function called using on_changed() function slider_position.on_changed(update) # Display the plot plt.show()
Producción:
Ejemplo 2: Desplácese por varios controles deslizantes.
Acercarse:
- Importar módulos
- Establezca la trama y el eje en las subtramas
- Ajuste el tamaño del widget deslizante.
- Establezca la amplitud en el eje x y la frecuencia en el eje y utilizando algunos datos ficticios.
- Trace el gráfico usando los datos y proporcione algunas funciones básicas, como cambio de color o cambio de tamaño según el requisito.
- Establezca la posición del control deslizante de amplitud, el control deslizante de frecuencia y la gráfica.
- Defina una función de actualización que cambiará la representación del gráfico cuando movamos cualquiera de los controles deslizantes.
- Establezca la función de actualización en ambos controles deslizantes utilizando la función on_changed().
- Trace el gráfico junto con los controles deslizantes.
A continuación se muestra la implementación:
Python3
# Importing Libraries using import function import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider # Setting Plot and Axis variables as subplots() # function returns tuple(fig, ax) fig, ax = plt.subplots() # Adjust the bottom size according to the # requirement of the user plt.subplots_adjust(bottom = 0.25) # Set the x and y axis to some dummy data t = np.arange(0.0, 1.0, 0.001) # Initial values of amplitude and frequency # are denoted by a0 and f0 a0 = 6 f0 = 3 s = a0*np.sin(2*np.pi*f0*t) # plot the x and y using plot function Plot, = plt.plot(t, s, lw = 3, color = 'green') plt.axis([0, 1, -10, 10]) # Choose the Slider color axcolor = "White" # Set the frequency and amplitude axis frequency_axis = plt.axes([0.25, 0.1, 0.65, 0.03], facecolor = axcolor) amplitude_axis = plt.axes([0.25, 0.15, 0.65, 0.03], facecolor = axcolor) # Set the slider for frequency and amplitude frequency_slider = Slider(frequency_axis, 'Freq', 0.1, 30.0, valinit = f0) amplitude_slider = Slider(amplitude_axis, 'Amp', 0.1, 10.0, valinit = a0) # update() function to change the graph when the # slider is in use def update(val): amp = amplitude_slider.val freq = frequency_slider.val Plot.set_ydata(amp*np.sin(2*np.pi*freq*t)) # update function called using on_changed() function # for both frequency and amplitude frequency_slider.on_changed(update) amplitude_slider.on_changed(update) # Display the plot plt.show()
Producción:
Publicación traducida automáticamente
Artículo escrito por zawaresumedha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA