Um gráfico de fluxo é um tipo de gráfico 2D usado para mostrar fluxo de fluido e gradientes de campo 2D.
O método básico para criar um gráfico de fluxo no Matplotlib é:
ax.streamplot(x_grid,y_grid,x_vec,y_vec, density=espacamento)
Onde x_grid
e y_grid
são matrizes dos pontos x, y. As matrizes x_vec
e y_vec
denotam a velocidade do fluxo em cada ponto da grade. O argumento do parâmetro density=espacamento
especifica a proximidade das linhas de fluxo.
Um gráfico de fluxo simples
Vamos começar com um gráfico de fluxo que contém linhas de fluxo em uma grade 10 x 10. Todas as linhas de fluxo no gráfico são paralelas e apontam para a direita.
A seção de código a seguir cria um gráfico de fluxo que contém linhas paralelas horizontais apontando para a direita.
Exemplo Python
import numpy as np import matplotlib.pyplot as plt # Se estiver usando o jupyter notebook, use: # %matplotlib inline x = np.arange(0,10) y = np.arange(0,10) X, Y = np.meshgrid(x,y) u = np.ones((10,10)) # x-component to the right v = np.zeros((10,10)) # y-component zero fig, ax = plt.subplots() ax.streamplot(X,Y,u,v, density = 0.5) ax.set_title('Gráfico de fluxo com linhas pararelas') plt.show()
O gráfico contém linhas de fluxo paralelas, todas apontando para a direita.
Gráfico de fluxo de um campo
Podemos construir um gráfico de fluxo que mostra linhas de campo com base em um campo vetorial 2D definido.
Exemplo Python
import numpy as np import matplotlib.pyplot as plt # Se estiver usando o jupyter notebook, use: # %matplotlib inline x = np.arange(0,2.2,0.1) y = np.arange(0,2.2,0.1) X, Y = np.meshgrid(x, y) u = np.cos(X)*Y v = np.sin(y)*Y fig, ax = plt.subplots() ax.streamplot(X,Y,u,v, density = 1) ax.axis([0.5,2.1,0,2]) ax.xaxis.set_ticks([]) ax.yaxis.set_ticks([]) ax.set_title('Gráfico de fluxo com linhas de campo') plt.show()
0 comentários:
Postar um comentário