Python - percorrer gráficos
Em python, podemos traçar gráficos usando muitas bibliotecas e funções. Aqui neste artigo, nosso foco principal é adicionar controles deslizantes aos nossos gráficos. Mas antes de mover para o controle deslizante, é necessário saber como traçar um gráfico básico em python usando matplotlib.pyplot.
Percorrendo gráficos
Os gráficos de rolagem são aqueles que se atualizam conforme alteramos a escala do gráfico usando um controle deslizante. Um controle deslizante pode ser adicionado a um gráfico usando matplotlib e a biblioteca plotly. Neste tutorial, aprenderemos como gerar controles deslizantes usando a biblioteca matplotlib.pyplot.
Percorrer os gráficos pode não parecer útil ou necessário para todos os casos, mas é certamente um recurso benéfico. Existem casos em que os dados são enormes e não cabem em um gráfico dinâmico e, mesmo que se encaixem, haverá uma colisão entre os pontos do gráfico. Portanto, usar um controle deslizante reduzirá as colisões entre os pontos e fará com que pareça apresentável e limpo. Além disso, será fácil estudar.
Função Slider(): A função Slider() é uma função que está presente em matplotlib.widgets e ajuda o programador a adicionar um controle deslizante aos gráficos. A sintaxe básica de um matplotlib.widget.Slider() é
Sintaxe: matplotlib.widgets.Slider (axis, label, val_min, val_max, valinit = 0,5, valfmt = None, closed_min = True, closed_max = True, slider_min = None, slider_max = None, arrastando = True, val_step = None, orientação = 'horizontal', ** kwargs)
Exemplo 1: rolar pelos controles deslizantes.
Abordagem:
- Módulos de importação
- Defina o gráfico e o eixo para os subplots
- Ajuste o tamanho do widget do controle deslizante
- Defina alguns dados fictícios para os eixos xey
- Trace o gráfico usando os dados fictícios
- Defina a posição do controle deslizante e plote
- Defina uma função de atualização que mudará a representação do gráfico quando movermos o controle deslizante
- Defina a função de atualização para o controle deslizante usando a função on_changed() para implementar as mudanças.
- Trace o gráfico junto com o controle deslizante.
Abaixo está a implementação:
# 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()
Saída:
Exemplo 2: percorrer vários controles deslizantes.
Abordagem:
- Módulos de importação
- Defina o gráfico e o eixo para os subplots
- Ajuste o tamanho do widget do controle deslizante.
- Defina a amplitude no eixo x e a frequência no eixo y usando alguns dados fictícios.
- Trace o gráfico usando os dados e forneça algumas funções básicas, como mudança de cor ou mudança de tamanho de acordo com o requisito.
- Defina a posição do controle deslizante de amplitude, controle deslizante de frequência e o gráfico.
- Defina uma função de atualização que mudará a representação do gráfico quando movermos qualquer um dos controles deslizantes.
- Defina a função de atualização para ambos os controles deslizantes usando a função on_changed().
- Trace o gráfico junto com os controles deslizantes.
Abaixo está a implementação:
# 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 anf 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()
Saída:
Atenção geek! Fortaleça suas bases com o Python Programming Foundation Course e aprenda o básico.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva