У меня небольшая проблема, в основном из-за того, что мне немного сложно погрузиться в мир питонов для matplotlib.
У меня есть 4 1D массива следующим образом:
x -> x positions
y -> y positions
u -> x velocities
v -> y velocities
Что я описал в переменных Python следующим образом (они заполняются данными, которые я читаю, которые не имеют значения, каждый 1D массив равен по длине)
x_points : List[float] = []
y_points : List[float] = []
x_vel : List[float] = []
y_vel : List[float] = []
И мне трудно перевести эти 1D-массивы в формат, который можно использовать для построения обтекаемого графика. (Я пытаюсь последовать ответу на этот вопрос здесь , но все еще чешу голову)
В настоящее время мой код выглядит так (я опустил заполнение данных)
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import numpy as np
import pandas as pd
x_points : List[float] = []
y_points : List[float] = []
x_vel : List[float] = []
y_vel : List[float] = []
#Data Population
#End Data Population
xi = np.linspace(-20, 20, len(x_points))
yi = np.linspace(-20, 20, len(z_points))
X, Y = np.meshgrid(xi, yi)
U = interpolate.griddata((x_points, y_points), x_vel, (X, Y), method='cubic')
V = interpolate.griddata((x_points, y_points), y_vel, (X, Y), method='cubic')
f, ax = plt.subplots(figsize=(6,6))
ax.streamplot(X,Y,U,V, density=[0.2,1])
который я уже знаю, не будет работать.
Могу ли я получить некоторую помощь, описывающую, как я должен преобразовать 4-мерные 1-мерные массивы во что-то, что устраивает streamplot?