Python matplotlib: создание визуализации скорости ветра на основе сетки с отдельными цветными блоками и стрелками направPython

Программы на Python
Anonymous
 Python matplotlib: создание визуализации скорости ветра на основе сетки с отдельными цветными блоками и стрелками направ

Сообщение Anonymous »

Я пытаюсь создать визуализацию скорости ветра в питоне с помощью matplotlib, который показывает как скорость ветра (в качестве цветных ячейки сетки), так и направление ветра (как стрелки). < /p>
исходное изображение такое as:

Ожидаемый выход:

Код: Выделить всё

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np

# Path to your uploaded image
image_path = r"C:\Users\aaa\Downloads\2W.jpg"  # Use raw string to avoid escape issues

# Load the image
img = mpimg.imread(image_path)

# Generate synthetic arrow data (replace with real data)
x = np.linspace(0, img.shape[1], 20)  # X-axis arrow positions
y = np.linspace(0, img.shape[0], 20)  # Y-axis arrow positions
X, Y = np.meshgrid(x, y)
U = np.sin(Y / 100)  # X-component of arrow (example data)
V = np.cos(X / 100)  # Y-component of arrow (example data)

# Plot the image as background
plt.figure(figsize=(10, 8))
plt.imshow(img, extent=[0, img.shape[1], img.shape[0], 0])

# Overlay arrows (quiver plot)
plt.quiver(X, Y, U, V, color="white", scale=30, pivot="middle", alpha=0.7)

# Optional: Add contour lines for additional data visualization
Z = np.sqrt(U**2 + V**2)  # Example scalar field (magnitude of flow)
contour = plt.contour(X, Y, Z, levels=10, cmap="jet", alpha=0.6)
plt.colorbar(contour, label="Flow Magnitude")

# Final touches
plt.axis("off")  # Turn off axis labels
plt.title("Carbon Flow Visualization")
plt.show()
Выходное изображение из вышеупомянутого кода:


Подробнее здесь: https://stackoverflow.com/questions/793 ... h-discrete

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