{ "cells": [ { "source": [ "# PIVPy graphics tutorial" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import xarray as xr\n", "import numpy as np\n", "from pivpy import io, pivpy, graphics\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "## Let's create a sample dataset" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset>\n", "Dimensions: (t: 5, x: 8, y: 5)\n", "Coordinates:\n", " * x (x) float64 32.0 45.71 59.43 73.14 86.86 100.6 114.3 128.0\n", " * y (y) float64 16.0 44.0 72.0 100.0 128.0\n", " * t (t) int64 0 1 2 3 4\n", "Data variables:\n", " u (x, y, t) float64 1.0 1.0 1.0 1.0 1.0 2.75 ... 8.0 8.0 8.0 8.0 8.0\n", " v (x, y, t) float64 -0.1917 0.4701 -0.3205 ... 0.8455 0.5244 0.3326\n", " chc (x, y, t) float64 1.0 1.0 1.0 1.0 1.0 1.0 ... 1.0 1.0 1.0 1.0 1.0\n", "Attributes:\n", " variables: ['x', 'y', 'u', 'v']\n", " units: ['pix', 'pix', 'pix/dt', 'pix/dt']\n", " dt: 1.0\n", " files:
array([ 32. , 45.714286, 59.428571, 73.142857, 86.857143, 100.571429,\n", " 114.285714, 128. ])
array([ 16., 44., 72., 100., 128.])
array([0, 1, 2, 3, 4])
array([[[1. , 1. , 1. , 1. , 1. ],\n", " [2.75, 2.75, 2.75, 2.75, 2.75],\n", " [4.5 , 4.5 , 4.5 , 4.5 , 4.5 ],\n", " [6.25, 6.25, 6.25, 6.25, 6.25],\n", " [8. , 8. , 8. , 8. , 8. ]],\n", "\n", " [[1. , 1. , 1. , 1. , 1. ],\n", " [2.75, 2.75, 2.75, 2.75, 2.75],\n", " [4.5 , 4.5 , 4.5 , 4.5 , 4.5 ],\n", " [6.25, 6.25, 6.25, 6.25, 6.25],\n", " [8. , 8. , 8. , 8. , 8. ]],\n", "\n", " [[1. , 1. , 1. , 1. , 1. ],\n", " [2.75, 2.75, 2.75, 2.75, 2.75],\n", " [4.5 , 4.5 , 4.5 , 4.5 , 4.5 ],\n", " [6.25, 6.25, 6.25, 6.25, 6.25],\n", " [8. , 8. , 8. , 8. , 8. ]],\n", "\n", " [[1. , 1. , 1. , 1. , 1. ],\n", " [2.75, 2.75, 2.75, 2.75, 2.75],\n", "...\n", " [6.25, 6.25, 6.25, 6.25, 6.25],\n", " [8. , 8. , 8. , 8. , 8. ]],\n", "\n", " [[1. , 1. , 1. , 1. , 1. ],\n", " [2.75, 2.75, 2.75, 2.75, 2.75],\n", " [4.5 , 4.5 , 4.5 , 4.5 , 4.5 ],\n", " [6.25, 6.25, 6.25, 6.25, 6.25],\n", " [8. , 8. , 8. , 8. , 8. ]],\n", "\n", " [[1. , 1. , 1. , 1. , 1. ],\n", " [2.75, 2.75, 2.75, 2.75, 2.75],\n", " [4.5 , 4.5 , 4.5 , 4.5 , 4.5 ],\n", " [6.25, 6.25, 6.25, 6.25, 6.25],\n", " [8. , 8. , 8. , 8. , 8. ]],\n", "\n", " [[1. , 1. , 1. , 1. , 1. ],\n", " [2.75, 2.75, 2.75, 2.75, 2.75],\n", " [4.5 , 4.5 , 4.5 , 4.5 , 4.5 ],\n", " [6.25, 6.25, 6.25, 6.25, 6.25],\n", " [8. , 8. , 8. , 8. , 8. ]]])
array([[[-0.19173369, 0.47013406, -0.32054064, -0.0757848 ,\n", " 0.08673771],\n", " [-0.06673369, 0.59513406, -0.19554064, 0.0492152 ,\n", " 0.21173771],\n", " [ 0.05826631, 0.72013406, -0.07054064, 0.1742152 ,\n", " 0.33673771],\n", " [ 0.18326631, 0.84513406, 0.05445936, 0.2992152 ,\n", " 0.46173771],\n", " [ 0.30826631, 0.97013406, 0.17945936, 0.4242152 ,\n", " 0.58673771]],\n", "\n", " [[-0.25754662, 0.23238447, -0.1176686 , 0.05972362,\n", " -0.23222527],\n", " [-0.13254662, 0.35738447, 0.0073314 , 0.18472362,\n", " -0.10722527],\n", " [-0.00754662, 0.48238447, 0.1323314 , 0.30972362,\n", " 0.01777473],\n", " [ 0.11745338, 0.60738447, 0.2573314 , 0.43472362,\n", " 0.14277473],\n", " [ 0.24245338, 0.73238447, 0.3823314 , 0.55972362,\n", "...\n", " -0.28413527],\n", " [ 0.52145588, -0.36426683, 0.14361845, -0.21303802,\n", " -0.15913527],\n", " [ 0.64645588, -0.23926683, 0.26861845, -0.08803802,\n", " -0.03413527],\n", " [ 0.77145588, -0.11426683, 0.39361845, 0.03696198,\n", " 0.09086473],\n", " [ 0.89645588, 0.01073317, 0.51861845, 0.16196198,\n", " 0.21586473]],\n", "\n", " [[ 0.35206705, 0.12177763, 0.34548154, 0.02444069,\n", " -0.16737367],\n", " [ 0.47706705, 0.24677763, 0.47048154, 0.14944069,\n", " -0.04237367],\n", " [ 0.60206705, 0.37177763, 0.59548154, 0.27444069,\n", " 0.08262633],\n", " [ 0.72706705, 0.49677763, 0.72048154, 0.39944069,\n", " 0.20762633],\n", " [ 0.85206705, 0.62177763, 0.84548154, 0.52444069,\n", " 0.33262633]]])
array([[[1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.]],\n", "\n", " [[1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.]],\n", "\n", " [[1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.]],\n", "\n", " [[1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", "...\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.]],\n", "\n", " [[1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.]],\n", "\n", " [[1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.]],\n", "\n", " [[1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.],\n", " [1., 1., 1., 1., 1.]]])