fast_laps.ipynb
1 { 2 "cells": [ 3 { 4 "cell_type": "code", 5 "execution_count": 1, 6 "metadata": {}, 7 "outputs": [ 8 { 9 "name": "stderr", 10 "output_type": "stream", 11 "text": [ 12 "2023-09-01 13:51:25,248 DEBUG Influx: Connected to https://telemetry.b4mad.racing/\n" 13 ] 14 } 15 ], 16 "source": [ 17 "import django_initializer\n", 18 "from telemetry.fast_lap_analyzer import FastLapAnalyzer\n", 19 "from telemetry.racing_stats import RacingStats\n", 20 "from telemetry.models import FastLap, Lap\n", 21 "from telemetry.analyzer import Analyzer\n", 22 "from telemetry.influx import Influx\n", 23 "import plotly.io as pio\n", 24 "\n", 25 "pio.renderers.default = \"svg\" # comment this line to use interactive plots\n", 26 "\n", 27 "import pandas as pd\n", 28 "import numpy as np\n", 29 "\n", 30 "from telemetry.visualizer import *\n", 31 "\n", 32 "%load_ext autoreload\n", 33 "%autoreload 2\n", 34 "\n", 35 "analyzer = Analyzer()\n", 36 "influx = Influx()\n", 37 "fast_lap_analyzer = FastLapAnalyzer()\n", 38 "racing_stats = RacingStats()" 39 ] 40 }, 41 { 42 "cell_type": "code", 43 "execution_count": 2, 44 "metadata": {}, 45 "outputs": [ 46 { 47 "name": "stderr", 48 "output_type": "stream", 49 "text": [ 50 "2023-09-01 13:51:25,341 DEBUG Influx: Connected to https://telemetry.b4mad.racing/\n", 51 "2023-09-01 13:51:25,346 INFO Fetching telemetry for iRacing - okayama short - Mazda MX-5 Cup\n", 52 "2023-09-01 13:51:25,346 INFO track.id 1029 car.id 15\n", 53 "2023-09-01 13:51:25,346 INFO session 1690362827 lap.id 235802 number 5\n", 54 "2023-09-01 13:51:25,346 INFO length 1928 time 60.1182 valid True\n", 55 "2023-09-01 13:51:25,347 INFO start 2023-07-26 04:18:07.922038+00:00 end 2023-07-26 04:19:08.049835+00:00\n", 56 "2023-09-01 13:51:25,669 INFO Fetching telemetry for iRacing - okayama short - Mazda MX-5 Cup\n", 57 "2023-09-01 13:51:25,669 INFO track.id 1029 car.id 15\n", 58 "2023-09-01 13:51:25,669 INFO session 1690362827 lap.id 235804 number 6\n", 59 "2023-09-01 13:51:25,669 INFO length 1929 time 60.1341 valid True\n", 60 "2023-09-01 13:51:25,670 INFO start 2023-07-26 04:19:08.049835+00:00 end 2023-07-26 04:20:08.205594+00:00\n", 61 "2023-09-01 13:51:25,987 INFO Fetching telemetry for iRacing - okayama short - Mazda MX-5 Cup\n", 62 "2023-09-01 13:51:25,987 INFO track.id 1029 car.id 15\n", 63 "2023-09-01 13:51:25,988 INFO session 1690276225 lap.id 233941 number 9\n", 64 "2023-09-01 13:51:25,988 INFO length 1929 time 60.3767 valid True\n", 65 "2023-09-01 13:51:25,988 INFO start 2023-07-25 04:18:41.661033+00:00 end 2023-07-25 04:19:42.050034+00:00\n", 66 "2023-09-01 13:51:26,320 INFO Fetching telemetry for iRacing - okayama short - Mazda MX-5 Cup\n", 67 "2023-09-01 13:51:26,321 INFO track.id 1029 car.id 15\n", 68 "2023-09-01 13:51:26,321 INFO session 1690276225 lap.id 233944 number 12\n", 69 "2023-09-01 13:51:26,321 INFO length 1929 time 60.4507 valid True\n", 70 "2023-09-01 13:51:26,321 INFO start 2023-07-25 04:21:43.478232+00:00 end 2023-07-25 04:22:43.924837+00:00\n", 71 "2023-09-01 13:51:26,662 INFO Fetching telemetry for iRacing - okayama short - Mazda MX-5 Cup\n", 72 "2023-09-01 13:51:26,662 INFO track.id 1029 car.id 15\n", 73 "2023-09-01 13:51:26,663 INFO session 1690276225 lap.id 233945 number 13\n", 74 "2023-09-01 13:51:26,663 INFO length 1929 time 60.4829 valid True\n", 75 "2023-09-01 13:51:26,663 INFO start 2023-07-25 04:22:43.924837+00:00 end 2023-07-25 04:23:44.434137+00:00\n", 76 "2023-09-01 13:51:26,979 INFO Fetching telemetry for iRacing - okayama short - Mazda MX-5 Cup\n", 77 "2023-09-01 13:51:26,979 INFO track.id 1029 car.id 15\n", 78 "2023-09-01 13:51:26,979 INFO session 1690274944 lap.id 233917 number 5\n", 79 "2023-09-01 13:51:26,980 INFO length 1929 time 60.4852 valid True\n", 80 "2023-09-01 13:51:26,980 INFO start 2023-07-25 03:53:54.157600+00:00 end 2023-07-25 03:54:54.643233+00:00\n", 81 "2023-09-01 13:51:27,267 INFO Fetching telemetry for iRacing - okayama short - Mazda MX-5 Cup\n", 82 "2023-09-01 13:51:27,268 INFO track.id 1029 car.id 15\n", 83 "2023-09-01 13:51:27,268 INFO session 1690362827 lap.id 235807 number 7\n", 84 "2023-09-01 13:51:27,268 INFO length 1928 time 60.4969 valid True\n", 85 "2023-09-01 13:51:27,268 INFO start 2023-07-26 04:20:08.205594+00:00 end 2023-07-26 04:21:08.679852+00:00\n", 86 "2023-09-01 13:51:27,580 INFO Fetching telemetry for iRacing - okayama short - Mazda MX-5 Cup\n", 87 "2023-09-01 13:51:27,580 INFO track.id 1029 car.id 15\n", 88 "2023-09-01 13:51:27,580 INFO session 1690276225 lap.id 233935 number 5\n", 89 "2023-09-01 13:51:27,580 INFO length 1928 time 60.5308 valid True\n", 90 "2023-09-01 13:51:27,581 INFO start 2023-07-25 04:14:37.589684+00:00 end 2023-07-25 04:15:38.105014+00:00\n", 91 "2023-09-01 13:51:27,953 INFO Fetching telemetry for iRacing - okayama short - Mazda MX-5 Cup\n", 92 "2023-09-01 13:51:27,954 INFO track.id 1029 car.id 15\n", 93 "2023-09-01 13:51:27,954 INFO session 1690274944 lap.id 233916 number 4\n", 94 "2023-09-01 13:51:27,954 INFO length 1929 time 60.5367 valid True\n", 95 "2023-09-01 13:51:27,954 INFO start 2023-07-25 03:52:53.624444+00:00 end 2023-07-25 03:53:54.157600+00:00\n", 96 "2023-09-01 13:51:28,245 INFO Fetching telemetry for iRacing - okayama short - Mazda MX-5 Cup\n", 97 "2023-09-01 13:51:28,245 INFO track.id 1029 car.id 15\n", 98 "2023-09-01 13:51:28,245 INFO session 1690708258 lap.id 246204 number 9\n", 99 "2023-09-01 13:51:28,245 INFO length 1929 time 60.5481 valid True\n", 100 "2023-09-01 13:51:28,246 INFO start 2023-07-30 04:19:23.988600+00:00 end 2023-07-30 04:20:24.549562+00:00\n", 101 "2023-09-01 13:51:28,254 ERROR No data found for 1690708258 lap 9\n", 102 "2023-09-01 13:51:28,255 INFO No data found for lap in fast_laps bucket, trying in default bucket\n", 103 "2023-09-01 13:51:28,255 INFO Fetching telemetry for iRacing - okayama short - Mazda MX-5 Cup\n", 104 "2023-09-01 13:51:28,255 INFO track.id 1029 car.id 15\n", 105 "2023-09-01 13:51:28,255 INFO session 1690708258 lap.id 246204 number 9\n", 106 "2023-09-01 13:51:28,256 INFO length 1929 time 60.5481 valid True\n", 107 "2023-09-01 13:51:28,256 INFO start 2023-07-30 04:19:23.988600+00:00 end 2023-07-30 04:20:24.549562+00:00\n", 108 "2023-09-01 13:51:28,262 ERROR No data found for 1690708258 lap 9\n", 109 "2023-09-01 13:51:28,263 INFO No data found for lap, continuing\n" 110 ] 111 } 112 ], 113 "source": [ 114 "kwargs = {\n", 115 " \"game\": \"iRacing\",\n", 116 " # \"game\": \"Assetto Corsa Competizione\",\n", 117 " # \"track\": \"oschersleben gp\",\n", 118 " # \"track\": \"aragon gp\",\n", 119 " # \"track\": \"jerez gp\",\n", 120 " # \"track\": \"spa up\",\n", 121 " \"track\": \"okayama short\",\n", 122 " # \"track\": \"Hungaroring:track config\",\n", 123 " # \"car\": \"Ferrari 488 GT3 Evo 2020\",\n", 124 " # \"car\": \"GT3\",\n", 125 " \"car\": \"Mazda MX-5 Cup\",\n", 126 " \"valid\": True,\n", 127 "}\n", 128 "laps = racing_stats.laps(**kwargs)\n", 129 "laps = laps[:10]\n", 130 "# laps = list(laps)\n", 131 "fast_lap_analyzer.laps = laps\n", 132 "data_frames, laps_with_telemetry = fast_lap_analyzer.fetch_lap_telemetry()" 133 ] 134 }, 135 { 136 "cell_type": "code", 137 "execution_count": 3, 138 "metadata": {}, 139 "outputs": [], 140 "source": [ 141 "# influx_data_frames = []\n", 142 "# for df in data_frames:\n", 143 "# influx_data_frames.append(df.copy())\n", 144 "\n", 145 "# data_frames = []\n", 146 "# for df in influx_data_frames:\n", 147 "# data_frames.append(df.copy())" 148 ] 149 }, 150 { 151 "cell_type": "code", 152 "execution_count": 4, 153 "metadata": {}, 154 "outputs": [ 155 { 156 "data": { 157 "text/plain": [ 158 "[{'start': 0, 'end': 321},\n", 159 " {'start': 322, 'end': 575},\n", 160 " {'start': 576, 'end': 770},\n", 161 " {'start': 771, 'end': 1003},\n", 162 " {'start': 1004, 'end': 1308},\n", 163 " {'start': 1309, 'end': 1929}]" 164 ] 165 }, 166 "metadata": {}, 167 "output_type": "display_data" 168 } 169 ], 170 "source": [ 171 "current_sectors = fast_lap_analyzer.current_fast_lap_sectors()\n", 172 "display(current_sectors)" 173 ] 174 }, 175 { 176 "cell_type": "code", 177 "execution_count": 5, 178 "metadata": {}, 179 "outputs": [ 180 { 181 "name": "stderr", 182 "output_type": "stream", 183 "text": [ 184 "2023-09-01 13:51:28,367 DEBUG split_sectors: min_length_throttle_below_threshold: 20\n", 185 "2023-09-01 13:51:28,368 DEBUG split_sectors: min_distance_between_sectors: 35\n", 186 "2023-09-01 13:51:28,369 DEBUG sector 2 - 593m too short: 4.0\n" 187 ] 188 }, 189 { 190 "data": { 191 "text/plain": [ 192 "[{'start': 0, 'end': 321.0, 'length': 321},\n", 193 " {'start': 322.0, 'end': 578.0, 'length': 256},\n", 194 " {'start': 579, 'end': 770.0, 'length': 191},\n", 195 " {'start': 771.0, 'end': 1003.0, 'length': 232},\n", 196 " {'start': 1004, 'end': 1308.0, 'length': 304},\n", 197 " {'start': 1309.0, 'end': 1928.57, 'length': 619}]" 198 ] 199 }, 200 "metadata": {}, 201 "output_type": "display_data" 202 }, 203 { 204 "name": "stderr", 205 "output_type": "stream", 206 "text": [ 207 "2023-09-01 13:51:28,370 DEBUG start_diffs: [0, 0.0, 3, 0.0, 0, 0.0] med: 0.5\n" 208 ] 209 }, 210 { 211 "data": { 212 "text/plain": [ 213 "'Sectors are similar: True'" 214 ] 215 }, 216 "metadata": {}, 217 "output_type": "display_data" 218 }, 219 { 220 "data": { 221 "image/svg+xml": [ 222 "<svg class=\"main-svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"700\" height=\"500\" style=\"\" viewBox=\"0 0 700 500\"><rect x=\"0\" y=\"0\" width=\"700\" height=\"500\" style=\"fill: rgb(255, 255, 255); fill-opacity: 1;\"/><defs id=\"defs-3e9339\"><g class=\"clips\"><clipPath id=\"clip3e9339xyplot\" class=\"plotclip\"><rect width=\"505\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clip3e9339x\"><rect x=\"80\" y=\"0\" width=\"505\" height=\"500\"/></clipPath><clipPath class=\"axesclip\" id=\"clip3e9339y\"><rect x=\"0\" y=\"100\" width=\"700\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clip3e9339xy\"><rect x=\"80\" y=\"100\" width=\"505\" height=\"320\"/></clipPath></g><g class=\"gradients\"/><g class=\"patterns\"/></defs><g class=\"bglayer\"><rect class=\"bg\" x=\"80\" y=\"100\" width=\"505\" height=\"320\" style=\"fill: rgb(229, 236, 246); fill-opacity: 1; stroke-width: 0;\"/></g><g class=\"layer-below\"><g class=\"imagelayer\"/><g class=\"shapelayer\"/></g><g class=\"cartesianlayer\"><g class=\"subplot xy\"><g class=\"layer-subplot\"><g class=\"shapelayer\"/><g class=\"imagelayer\"/></g><g class=\"minor-gridlayer\"><g class=\"x\"/><g class=\"y\"/></g><g class=\"gridlayer\"><g class=\"x\"><path class=\"xgrid crisp\" transform=\"translate(211.41,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(341.82,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(472.22,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g><g class=\"y\"><path class=\"ygrid crisp\" transform=\"translate(0,346.4)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,288.8)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,231.2)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,173.6)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,116)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g></g><g class=\"zerolinelayer\"><path class=\"xzl zl crisp\" transform=\"translate(81,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 2px;\"/><path class=\"yzl zl crisp\" transform=\"translate(0,404)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 2px;\"/></g><path class=\"xlines-below\"/><path class=\"ylines-below\"/><g class=\"overlines-below\"/><g class=\"xaxislayer-below\"/><g class=\"yaxislayer-below\"/><g class=\"overaxes-below\"/><g class=\"plot\" transform=\"translate(80,100)\" clip-path=\"url(#clip3e9339xyplot)\"><g class=\"scatterlayer mlayer\"><g class=\"trace scatter traceb8ef9b\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M1.06,16L32.38,16L32.64,31.41L32.9,31.41L33.16,85.16L34.47,265.78L34.73,265.78L34.99,286.1L35.51,271.76L35.77,271.76L36.55,304L36.82,304L37.6,304L37.86,200.65L38.64,200.65L38.9,271.76L39.69,200.65L39.95,271.76L40.73,304L40.99,304L42.03,304L42.3,212.5L42.56,212.5L42.82,271.76L43.34,200.65L43.6,304L49.08,304L49.34,200.65L49.87,188.8L50.13,295.47L50.39,304L50.65,271.76L50.91,271.76L51.17,304L51.69,304L51.95,271.76L52.21,271.76L52.47,304L53,271.76L53.26,304L54.56,304L54.82,188.8L55.09,304L55.35,188.8L55.61,188.8L56.39,304L56.65,304L57.96,304L58.22,300.25L59,299.02L59.26,295.6L60.56,272.28L60.83,253.14L62.91,35.13L63.18,33.96L64.48,27.83L64.74,27.65L66.31,19.7L66.57,16.16L68.13,16L68.4,16L110.94,16L111.2,54.41L112.5,254.82L112.76,275.91L114.07,304L114.33,304L117.73,304L117.99,200.65L118.25,200.65L118.51,304L121.64,304L121.9,188.8L122.68,304L122.94,188.8L123.73,304L123.99,304L124.51,188.8L124.77,304L126.86,304L127.12,188.8L127.38,188.8L127.64,303.5L128.17,301.12L128.43,295.6L128.69,259.91L128.95,292.94L129.21,293.15L129.99,292.74L130.25,290.26L130.51,286.1L130.77,259.91L131.03,267.71L131.3,253.99L131.56,235.22L132.08,236.67L132.6,229.49L132.86,212.59L133.12,202.56L133.38,211.54L133.65,239.72L134.17,285.75L134.43,274.62L134.69,262.67L135.47,216.75L135.73,217.58L136,218.3L137.04,121.23L137.3,104.45L138.34,27.08L138.6,25.01L139.39,30.53L139.65,41.25L140.17,50.5L140.43,70.21L141.47,32.32L141.74,30.98L142.78,26.92L143.04,26.75L143.82,29.48L144.09,28.31L144.35,28.72L144.61,27.49L147.22,16L147.48,16L155.31,16L155.57,20.31L156.09,49.39L156.35,48.79L156.61,39.41L157.4,17.39L157.66,18.02L157.92,18.41L158.44,22.85L158.7,25.72L159.75,30.77L160.01,30.68L160.27,30.14L160.53,31.44L161.05,30.87L161.31,30.69L162.62,30.74L162.88,29.52L163.92,22.75L164.18,20.57L164.44,20.93L164.7,20.64L164.96,19.96L166.79,16L167.05,16L228.13,16L228.39,33.19L228.65,33.19L228.91,90.98L230.21,279.33L230.48,279.33L230.74,293.86L231,271.76L231.26,271.76L231.52,304L231.78,200.65L232.3,200.65L232.56,271.76L233.35,304L233.61,304L236.48,304L236.74,259.91L237.26,188.8L237.52,304L238.31,259.91L238.57,304L239.61,304L239.87,188.8L240.13,188.8L240.39,304L241.7,304L241.96,188.8L242.74,304L243,304L244.05,304L244.31,188.8L245.09,304L245.35,297.41L245.61,284.38L246.13,212.5L246.4,275.97L246.66,273.2L246.92,250.32L248.48,136.54L248.75,135.71L249.01,134.44L249.27,120.47L250.05,99.09L250.31,77.16L251.1,40.68L251.36,41.72L251.62,47.8L252.4,73.33L252.66,52.1L253.7,16L253.96,16L254.49,16.32L254.75,17.5L255.01,17.63L255.27,16L273.28,16L273.54,32.35L275.63,304L275.89,304L281.89,304L282.15,301.31L283.72,227.2L283.98,206.86L285.29,92.6L285.81,100.41L286.07,101.77L286.33,100.84L286.59,82.89L287.89,29.01L288.15,27.65L289.72,24.13L289.98,24.38L290.5,27.42L290.77,25.69L291.03,23.07L292.33,16L292.59,16L368.54,16L368.8,22.35L369.06,34.3L369.33,83.5L370.89,269.23L371.15,283.25L371.68,200.65L371.94,304L372.2,304L372.46,200.65L372.72,200.65L372.98,304L373.5,200.65L373.76,271.76L374.03,304L374.55,271.76L374.81,304L375.33,304L375.59,271.76L375.85,271.76L376.11,304L379.77,304L380.03,302.97L380.29,301.83L380.55,200.65L381.59,295.38L381.86,295.52L383.16,294.81L383.42,294.86L384.46,294.53L384.72,296L385.25,298.5L385.51,291.79L386.29,231.43L386.55,194.58L387.86,32.69L388.12,32.22L388.9,27.9L389.16,25.27L390.47,16L390.73,16L504,16\" style=\"vector-effect: none; fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g><g class=\"trace scatter trace115fed\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M1.06,304L30.29,303.67L30.55,302.26L30.81,302.26L31.07,298.6L32.12,275.19L32.38,247.47L33.42,190.85L33.68,190.85L35.25,144.15L35.51,136.93L37.08,93.7L37.34,88.73L38.9,66.14L39.17,64.39L40.99,64.24L41.25,64.69L43.86,65.94L44.12,66.59L44.38,65.57L44.64,66.54L44.91,67.05L45.17,67.05L45.43,69.26L46.47,100.13L46.73,118.85L48.82,172.68L49.08,174.47L49.87,177.19L50.39,176.96L50.65,177.06L51.17,177.21L51.43,179.46L53,193.12L53.26,193.02L54.56,193.24L54.82,202.36L56.91,243.99L57.17,264.07L58.22,304L58.48,304L110.42,303.67L110.68,302.95L111.2,284.24L111.46,251.39L111.72,251.39L111.98,213.65L113.29,147.93L113.55,147.93L114.85,126.77L115.11,126.61L116.94,117.91L117.2,118.25L117.46,118.25L117.73,117.73L117.99,118.63L118.25,118.67L118.51,121.24L118.77,136.5L120.07,173.35L120.33,173.11L120.86,175.18L121.12,179.86L121.64,184.74L122.16,184.69L122.42,185.43L122.68,187.91L122.94,200.11L123.99,223.44L124.25,223.67L124.51,223.67L124.77,226.06L126.6,252.78L126.86,252.89L127.12,253.09L127.38,257.18L129.73,292.96L129.99,292.52L130.25,290.22L131.82,256.8L132.08,256.66L132.6,266.51L132.86,272.05L134.43,301.94L134.69,301.99L136,304L136.26,304L225.78,303.34L226.04,303.08L226.82,300.3L227.08,296.09L228.13,266.66L228.39,240.61L229.69,170.83L229.95,165.81L232.04,125.51L232.3,125.51L232.56,124.64L233.09,125.03L233.35,124.94L233.61,125.65L234.13,125.1L234.39,125.38L235.43,126.52L235.69,125.44L236.48,126.27L236.74,125.98L237.26,126.24L237.52,125.23L238.04,125.77L238.31,125.43L238.57,123.39L239.61,122.68L239.87,123.12L240.66,122.43L240.92,123.3L241.44,123.8L241.7,124.51L242.48,142.38L242.74,150.42L243.79,178.44L244.05,199.76L245.87,304L246.13,304L271.45,303.68L271.71,302.96L272.23,297.59L272.5,293.62L273.54,269.53L273.8,242.01L275.11,201.43L275.37,200.57L277.2,201.85L277.46,205.46L277.98,216.86L278.24,227.3L278.76,228.43L279.02,224.15L279.8,216.82L280.06,217.04L280.33,224.65L281.89,303.71L282.15,304L366.98,303.65L367.24,302.93L368.28,293.78L368.54,281.7L370.89,142.47L371.15,131.08L371.41,131.08L371.68,126.37L372.46,119.74L372.72,120L372.98,119.85L374.81,119.71L375.07,120.49L375.33,120.02L375.85,120.35L376.11,121.11L376.63,122.54L376.89,126.57L378.46,188.98L378.72,204.73L380.03,274.38L380.29,281.6L381.59,300.18L381.86,301.36L383.94,304L384.2,304L504,304\" style=\"vector-effect: none; fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g></g></g><g class=\"overplot\"/><path class=\"xlines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><path class=\"ylines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><g class=\"overlines-above\"/><g class=\"xaxislayer-above\"><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" transform=\"translate(81,0)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">0</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(211.41,0)\">500</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(341.82,0)\">1000</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(472.22,0)\">1500</text></g></g><g class=\"yaxislayer-above\"><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" transform=\"translate(0,404)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">0</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,346.4)\">0.2</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,288.8)\">0.4</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,231.2)\">0.6</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,173.6)\">0.8</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,116)\">1</text></g></g><g class=\"overaxes-above\"/></g></g><g class=\"polarlayer\"/><g class=\"smithlayer\"/><g class=\"ternarylayer\"/><g class=\"geolayer\"/><g class=\"funnelarealayer\"/><g class=\"pielayer\"/><g class=\"iciclelayer\"/><g class=\"treemaplayer\"/><g class=\"sunburstlayer\"/><g class=\"glimages\"/><defs id=\"topdefs-3e9339\"><g class=\"clips\"/><clipPath id=\"legend3e9339\"><rect width=\"93\" height=\"48\" x=\"0\" y=\"0\"/></clipPath></defs><g class=\"layer-above\"><g class=\"imagelayer\"/><g class=\"shapelayer\"><g class=\"shape-group\" data-index=\"0\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"0\" fill-rule=\"evenodd\" d=\"M81,404H81V116H81Z\" style=\"opacity: 1; stroke: rgb(0, 0, 255); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"1\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"1\" fill-rule=\"evenodd\" d=\"M164.72,404H164.72V116H164.72Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"2\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"2\" fill-rule=\"evenodd\" d=\"M164.98000000000002,404H164.98000000000002V116H164.98000000000002Z\" style=\"opacity: 1; stroke: rgb(0, 0, 255); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"3\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"3\" fill-rule=\"evenodd\" d=\"M231.75,404H231.75V116H231.75Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"4\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"4\" fill-rule=\"evenodd\" d=\"M232.01,404H232.01V116H232.01Z\" style=\"opacity: 1; stroke: rgb(0, 0, 255); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"5\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"5\" fill-rule=\"evenodd\" d=\"M281.83000000000004,404H281.83000000000004V116H281.83000000000004Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"6\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"6\" fill-rule=\"evenodd\" d=\"M282.09000000000003,404H282.09000000000003V116H282.09000000000003Z\" style=\"opacity: 1; stroke: rgb(0, 0, 255); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"7\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"7\" fill-rule=\"evenodd\" d=\"M342.6,404H342.6V116H342.6Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"8\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"8\" fill-rule=\"evenodd\" d=\"M342.86,404H342.86V116H342.86Z\" style=\"opacity: 1; stroke: rgb(0, 0, 255); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"9\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"9\" fill-rule=\"evenodd\" d=\"M422.15,404H422.15V116H422.15Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"10\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"10\" fill-rule=\"evenodd\" d=\"M422.41,404H422.41V116H422.41Z\" style=\"opacity: 1; stroke: rgb(0, 0, 255); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"11\" clip-path=\"url(#clip3e9339xy)\"><path data-index=\"11\" fill-rule=\"evenodd\" d=\"M584,404H584V116H584Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g></g></g><g class=\"infolayer\"><g class=\"legend\" pointer-events=\"all\" transform=\"translate(595.1,100)\"><rect class=\"bg\" shape-rendering=\"crispEdges\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1; stroke-width: 0px;\" width=\"93\" height=\"48\" x=\"0\" y=\"0\"/><g class=\"scrollbox\" transform=\"\" clip-path=\"url(#legend3e9339)\"><g class=\"groups\"><g class=\"traces\" transform=\"translate(0,14.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Throttle</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g><g class=\"traces\" transform=\"translate(0,33.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Brake</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g></g></g><rect class=\"scrollbar\" rx=\"20\" ry=\"3\" width=\"0\" height=\"0\" style=\"fill: rgb(128, 139, 164); fill-opacity: 1;\" x=\"0\" y=\"0\"/></g><g class=\"g-gtitle\"/><g class=\"g-xtitle\"/><g class=\"g-ytitle\"/></g></svg>" 223 ] 224 }, 225 "metadata": {}, 226 "output_type": "display_data" 227 } 228 ], 229 "source": [ 230 "# for i, df in enumerate(data_frames):\n", 231 "# fig = lap_fig(df, full_range=True, columns=[\"Throttle\"])\n", 232 "# fig.show()\n", 233 "sector_start_end, df_max = fast_lap_analyzer.extract_sectors(data_frames)\n", 234 "display(sector_start_end)\n", 235 "\n", 236 "# are the sectors similar to the current fast lap?\n", 237 "similarity = fast_lap_analyzer.similar_sectors(sector_start_end, current_sectors)\n", 238 "display(f\"Sectors are similar: {similarity}\")\n", 239 "\n", 240 "fig = lap_fig(df_max, full_range=True, columns=[\"Throttle\", \"Brake\"])\n", 241 "# add a vertical line for each sector\n", 242 "for i, sector in enumerate(sector_start_end):\n", 243 " fig_add_shape(fig, x0=sector[\"start\"], x1=sector[\"start\"], color=\"blue\")\n", 244 " fig_add_shape(fig, x0=sector[\"end\"], x1=sector[\"end\"], color=\"red\")\n", 245 "fig.show()" 246 ] 247 }, 248 { 249 "cell_type": "code", 250 "execution_count": 6, 251 "metadata": {}, 252 "outputs": [ 253 { 254 "name": "stderr", 255 "output_type": "stream", 256 "text": [ 257 "2023-09-01 13:51:29,166 DEBUG extract_segments for sector 0 start: 0 end: 321.0\n", 258 "2023-09-01 13:51:29,178 DEBUG extract_segments for sector 1 start: 322.0 end: 578.0\n", 259 "2023-09-01 13:51:29,188 DEBUG extract_segments for sector 2 start: 579 end: 770.0\n", 260 "2023-09-01 13:51:29,196 DEBUG extract_segments for sector 3 start: 771.0 end: 1003.0\n", 261 "2023-09-01 13:51:29,207 DEBUG extract_segments for sector 4 start: 1004 end: 1308.0\n", 262 "2023-09-01 13:51:29,217 DEBUG extract_segments for sector 5 start: 1309.0 end: 1928.57\n" 263 ] 264 }, 265 { 266 "data": { 267 "text/plain": [ 268 "'time: 8.6584 0 -> 321 / track: 1928.57'" 269 ] 270 }, 271 "metadata": {}, 272 "output_type": "display_data" 273 }, 274 { 275 "data": { 276 "text/plain": [ 277 "\"brake: {'start': 122.7, 'end': 213.66, 'max_start': 134.7, 'max_end': 204.67, 'max_high': 0.68, 'max_low': 0.52, 'force': 0.64, 'approach_speed': 49.26, 'min_speed': 28.69}\"" 278 ] 279 }, 280 "metadata": {}, 281 "output_type": "display_data" 282 }, 283 { 284 "data": { 285 "text/plain": [ 286 "\"throttle: {'start': 105.71, 'end': 253.65, 'max_start': 124.7, 'max_end': 237.65, 'max_high': 0.08, 'max_low': 0.0, 'force': 0.0, 'approach_speed': 49.27, 'min_speed': 26.37}\"" 287 ] 288 }, 289 "metadata": {}, 290 "output_type": "display_data" 291 }, 292 { 293 "data": { 294 "text/plain": [ 295 "\"gear: {'gear': 2, 'distance_gear': {3: 4, 150: 3, 201: 2}}\"" 296 ] 297 }, 298 "metadata": {}, 299 "output_type": "display_data" 300 }, 301 { 302 "data": { 303 "image/svg+xml": [ 304 "<svg class=\"main-svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"700\" height=\"500\" style=\"\" viewBox=\"0 0 700 500\"><rect x=\"0\" y=\"0\" width=\"700\" height=\"500\" style=\"fill: rgb(255, 255, 255); fill-opacity: 1;\"/><defs id=\"defs-cf0807\"><g class=\"clips\"><clipPath id=\"clipcf0807xyplot\" class=\"plotclip\"><rect width=\"505\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clipcf0807x\"><rect x=\"80\" y=\"0\" width=\"505\" height=\"500\"/></clipPath><clipPath class=\"axesclip\" id=\"clipcf0807y\"><rect x=\"0\" y=\"100\" width=\"700\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clipcf0807xy\"><rect x=\"80\" y=\"100\" width=\"505\" height=\"320\"/></clipPath></g><g class=\"gradients\"/><g class=\"patterns\"/></defs><g class=\"bglayer\"><rect class=\"bg\" x=\"80\" y=\"100\" width=\"505\" height=\"320\" style=\"fill: rgb(229, 236, 246); fill-opacity: 1; stroke-width: 0;\"/></g><g class=\"layer-below\"><g class=\"imagelayer\"/><g class=\"shapelayer\"/></g><g class=\"cartesianlayer\"><g class=\"subplot xy\"><g class=\"layer-subplot\"><g class=\"shapelayer\"/><g class=\"imagelayer\"/></g><g class=\"minor-gridlayer\"><g class=\"x\"/><g class=\"y\"/></g><g class=\"gridlayer\"><g class=\"x\"><path class=\"xgrid crisp\" transform=\"translate(130.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(181,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(231.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(282,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(332.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(383,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(433.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(484,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(534.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g><g class=\"y\"><path class=\"ygrid crisp\" transform=\"translate(0,346.4)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,288.8)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,231.2)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,173.6)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,116)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g></g><g class=\"zerolinelayer\"><path class=\"xzl zl crisp\" transform=\"translate(80,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 2px;\"/><path class=\"yzl zl crisp\" transform=\"translate(0,404)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 2px;\"/></g><path class=\"xlines-below\"/><path class=\"ylines-below\"/><g class=\"overlines-below\"/><g class=\"xaxislayer-below\"/><g class=\"yaxislayer-below\"/><g class=\"overaxes-below\"/><g class=\"plot\" transform=\"translate(80,100)\" clip-path=\"url(#clipcf0807xyplot)\"><g class=\"scatterlayer mlayer\"><g class=\"trace scatter trace1cd323\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M1.39,16L52.37,16.75L52.88,20.93L53.38,23.63L53.89,31.49L54.39,31.49L54.9,43.77L55.4,43.77L55.91,58.25L58.43,140.72L58.93,156.53L60.95,240.96L61.46,240.96L62.97,280.69L63.48,295.06L64.99,304L65.5,304L75.09,304L75.59,200.65L76.1,200.65L76.6,304L100.83,304L101.34,271.76L101.84,271.76L102.35,304L117.99,303.95L118.5,300.76L120.01,283.49L120.52,273.65L121.53,238.44L122.03,210.95L124.05,38.83L124.56,35.56L126.07,30.28L126.58,26.64L128.09,21.47L128.6,21.01L129.6,20.88L130.11,19.22L132.13,18.47L132.63,18.01L134.15,19.38L134.65,18.65L135.66,18.29L136.17,18.13L136.67,18.62L137.18,18.02L139.2,18.28L139.7,19.1L142.73,16.16L143.23,16L161.91,16\" style=\"vector-effect: none; fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g><g class=\"trace scatter traced448a8\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M1.39,304L56.91,303.34L57.42,302.65L59.94,298.94L60.45,295.07L62.47,267.73L62.97,240.55L63.98,198.42L64.49,198.42L66,175.72L66.51,169.29L68.02,154.58L68.53,154.58L70.54,133.62L71.05,129.31L72.56,122.1L73.07,119.22L73.57,119.22L74.08,116.1L75.09,116.13L75.59,114.56L76.1,114.56L76.6,113.53L78.62,111.72L79.13,110.44L80.14,108.95L80.64,109.17L82.15,109.06L82.66,108.39L83.67,109.86L84.17,109.2L84.68,109.2L85.18,110.28L86.7,110.53L87.2,110.35L88.21,110.63L88.72,110.63L90.23,113.29L90.74,115.27L91.24,115.27L91.75,116.9L92.75,116.96L93.26,118.64L94.77,117.78L95.28,117.96L95.78,118.39L96.29,117.42L97.3,117.88L97.8,117.88L98.81,118.92L99.32,118.05L100.83,118.51L101.34,137.37L101.84,137.37L102.35,143.89L103.36,155.21L103.86,163.84L105.88,194.9L106.38,213.92L108.91,296.29L109.41,298.58L110.93,303.89L111.43,304L161.91,304\" style=\"vector-effect: none; fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g></g></g><g class=\"overplot\"/><path class=\"xlines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><path class=\"ylines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><g class=\"overlines-above\"/><g class=\"xaxislayer-above\"><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" transform=\"translate(80,0)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">0</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(130.5,0)\">100</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(181,0)\">200</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(231.5,0)\">300</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(282,0)\">400</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(332.5,0)\">500</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(383,0)\">600</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(433.5,0)\">700</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(484,0)\">800</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(534.5,0)\">900</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(585,0)\">1000</text></g></g><g class=\"yaxislayer-above\"><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" transform=\"translate(0,404)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">0</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,346.4)\">0.2</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,288.8)\">0.4</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,231.2)\">0.6</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,173.6)\">0.8</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,116)\">1</text></g></g><g class=\"overaxes-above\"/></g></g><g class=\"polarlayer\"/><g class=\"smithlayer\"/><g class=\"ternarylayer\"/><g class=\"geolayer\"/><g class=\"funnelarealayer\"/><g class=\"pielayer\"/><g class=\"iciclelayer\"/><g class=\"treemaplayer\"/><g class=\"sunburstlayer\"/><g class=\"glimages\"/><defs id=\"topdefs-cf0807\"><g class=\"clips\"/><clipPath id=\"legendcf0807\"><rect width=\"93\" height=\"48\" x=\"0\" y=\"0\"/></clipPath></defs><g class=\"layer-above\"><g class=\"imagelayer\"/><g class=\"shapelayer\"><g class=\"shape-group\" data-index=\"0\" clip-path=\"url(#clipcf0807xy)\"><path data-index=\"0\" fill-rule=\"evenodd\" d=\"M141.96,404H187.9V116H141.96Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"1\" clip-path=\"url(#clipcf0807xy)\"><path data-index=\"1\" fill-rule=\"evenodd\" d=\"M148.01999999999998,254.24H183.36V208.16H148.01999999999998Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"2\" clip-path=\"url(#clipcf0807xy)\"><path data-index=\"2\" fill-rule=\"evenodd\" d=\"M148.01999999999998,219.68L183.36,219.68\" style=\"opacity: 1; stroke: rgb(255, 255, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"3\" clip-path=\"url(#clipcf0807xy)\"><path data-index=\"3\" fill-rule=\"evenodd\" d=\"M133.38,404H208.09V116H133.38Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"4\" clip-path=\"url(#clipcf0807xy)\"><path data-index=\"4\" fill-rule=\"evenodd\" d=\"M142.97,404H200.01V380.96H142.97Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"5\" clip-path=\"url(#clipcf0807xy)\"><path data-index=\"5\" fill-rule=\"evenodd\" d=\"M142.97,404L200.01,404\" style=\"opacity: 1; stroke: rgb(255, 255, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-width: 2px;\"/></g></g></g><g class=\"infolayer\"><g class=\"legend\" pointer-events=\"all\" transform=\"translate(595.1,100)\"><rect class=\"bg\" shape-rendering=\"crispEdges\" width=\"93\" height=\"48\" x=\"0\" y=\"0\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1; stroke-width: 0px;\"/><g class=\"scrollbox\" transform=\"\" clip-path=\"url(#legendcf0807)\"><g class=\"groups\"><g class=\"traces\" transform=\"translate(0,14.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Throttle</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g><g class=\"traces\" transform=\"translate(0,33.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Brake</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g></g></g><rect class=\"scrollbar\" rx=\"20\" ry=\"3\" width=\"0\" height=\"0\" x=\"0\" y=\"0\" style=\"fill: rgb(128, 139, 164); fill-opacity: 1;\"/></g><g class=\"g-gtitle\"/><g class=\"g-xtitle\"/><g class=\"g-ytitle\"/></g></svg>" 305 ] 306 }, 307 "metadata": {}, 308 "output_type": "display_data" 309 }, 310 { 311 "data": { 312 "text/plain": [ 313 "'time: 8.766667499999999 322 -> 578 / track: 1928.57'" 314 ] 315 }, 316 "metadata": {}, 317 "output_type": "display_data" 318 }, 319 { 320 "data": { 321 "text/plain": [ 322 "\"brake: {'start': 429.04, 'end': 475.01, 'max_start': 440.03, 'max_end': 452.03, 'max_high': 0.58, 'max_low': 0.52, 'force': 0.56, 'approach_speed': 37.56, 'min_speed': 29.11}\"" 323 ] 324 }, 325 "metadata": {}, 326 "output_type": "display_data" 327 }, 328 { 329 "data": { 330 "text/plain": [ 331 "\"throttle: {'start': 417.05, 'end': 572.95, 'max_start': 430.04, 'max_end': 524.98, 'max_high': 0.09, 'max_low': 0.0, 'force': 0.01, 'approach_speed': 37.42, 'min_speed': 21.52}\"" 332 ] 333 }, 334 "metadata": {}, 335 "output_type": "display_data" 336 }, 337 { 338 "data": { 339 "text/plain": [ 340 "\"gear: {'gear': 2, 'distance_gear': {322: 3, 499: 2}}\"" 341 ] 342 }, 343 "metadata": {}, 344 "output_type": "display_data" 345 }, 346 { 347 "data": { 348 "image/svg+xml": [ 349 "<svg class=\"main-svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"700\" height=\"500\" style=\"\" viewBox=\"0 0 700 500\"><rect x=\"0\" y=\"0\" width=\"700\" height=\"500\" style=\"fill: rgb(255, 255, 255); fill-opacity: 1;\"/><defs id=\"defs-006c05\"><g class=\"clips\"><clipPath id=\"clip006c05xyplot\" class=\"plotclip\"><rect width=\"505\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clip006c05x\"><rect x=\"80\" y=\"0\" width=\"505\" height=\"500\"/></clipPath><clipPath class=\"axesclip\" id=\"clip006c05y\"><rect x=\"0\" y=\"100\" width=\"700\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clip006c05xy\"><rect x=\"80\" y=\"100\" width=\"505\" height=\"320\"/></clipPath></g><g class=\"gradients\"/><g class=\"patterns\"/></defs><g class=\"bglayer\"><rect class=\"bg\" x=\"80\" y=\"100\" width=\"505\" height=\"320\" style=\"fill: rgb(229, 236, 246); fill-opacity: 1; stroke-width: 0;\"/></g><g class=\"layer-below\"><g class=\"imagelayer\"/><g class=\"shapelayer\"/></g><g class=\"cartesianlayer\"><g class=\"subplot xy\"><g class=\"layer-subplot\"><g class=\"shapelayer\"/><g class=\"imagelayer\"/></g><g class=\"minor-gridlayer\"><g class=\"x\"/><g class=\"y\"/></g><g class=\"gridlayer\"><g class=\"x\"><path class=\"xgrid crisp\" transform=\"translate(130.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(181,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(231.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(282,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(332.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(383,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(433.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(484,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(534.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g><g class=\"y\"><path class=\"ygrid crisp\" transform=\"translate(0,346.4)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,288.8)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,231.2)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,173.6)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,116)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g></g><g class=\"zerolinelayer\"><path class=\"yzl zl crisp\" transform=\"translate(0,404)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 2px;\"/></g><path class=\"xlines-below\"/><path class=\"ylines-below\"/><g class=\"overlines-below\"/><g class=\"xaxislayer-below\"/><g class=\"yaxislayer-below\"/><g class=\"overaxes-below\"/><g class=\"plot\" transform=\"translate(80,100)\" clip-path=\"url(#clip006c05xyplot)\"><g class=\"scatterlayer mlayer\"><g class=\"trace scatter trace1e697c\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M11.17,16L58.1,16L58.61,18L60.12,49.21L60.63,49.21L61.63,170.61L62.14,170.61L63.65,229.07L64.16,240.39L66.18,296.18L66.68,296.18L67.69,304L68.2,304L99.99,304L100.5,259.91L101.51,304L102.01,304L107.56,304L108.06,294.15L110.08,290.08L110.58,290.96L111.09,291.75L111.59,290.98L113.11,287.9L113.61,276.96L116.14,206.59L116.64,192.3L118.66,163.68L119.16,164.91L119.67,163.9L120.17,156.8L121.18,131.55L121.69,92.15L122.7,75.4L123.2,77.11L124.72,85.45L125.22,89.88L125.73,92.59L126.23,91.84L126.74,90.58L127.74,91.19L128.25,90.71L128.75,89.8L129.26,90.61L131.28,121.34L131.78,115.56L133.3,71.7L133.8,63.1L135.31,40.54L135.82,38.53L136.32,36.31L136.83,28.85L138.34,16L138.85,16L140.36,16\" style=\"vector-effect: none; fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g><g class=\"trace scatter trace3ae737\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M11.17,304L62.14,303.66L62.64,302.33L63.15,302.33L63.65,299.61L64.16,296.96L64.66,289L67.69,199.42L68.2,190.21L69.71,169.63L70.21,162.22L72.23,142.89L72.74,142.89L73.75,138.27L74.25,138.03L74.76,137.63L75.26,138.2L76.27,138.81L76.78,147.88L78.79,181.28L79.3,191.1L80.81,201.22L81.32,204.25L82.33,206.44L82.83,206.16L83.34,206.53L83.84,209.13L84.85,223.77L85.36,236.11L85.86,236.11L86.36,255.27L89.39,292.4L89.9,295.41L91.41,300.88L91.92,301.13L92.42,299.68L92.93,293.05L93.94,280.48L94.44,280.48L95.45,245.31L95.95,245.31L96.96,250.86L97.47,250.83L100.5,251.22L101,244.96L102.51,233.48L103.01,233.45L105.03,234.43L105.54,248.52L107.56,302.06L108.06,304L140.36,304\" style=\"vector-effect: none; fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g></g></g><g class=\"overplot\"/><path class=\"xlines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><path class=\"ylines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><g class=\"overlines-above\"/><g class=\"xaxislayer-above\"><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" transform=\"translate(80,0)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">300</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(130.5,0)\">400</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(181,0)\">500</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(231.5,0)\">600</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(282,0)\">700</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(332.5,0)\">800</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(383,0)\">900</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(433.5,0)\">1000</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(484,0)\">1100</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(534.5,0)\">1200</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(585,0)\">1300</text></g></g><g class=\"yaxislayer-above\"><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" transform=\"translate(0,404)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">0</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,346.4)\">0.2</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,288.8)\">0.4</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,231.2)\">0.6</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,173.6)\">0.8</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,116)\">1</text></g></g><g class=\"overaxes-above\"/></g></g><g class=\"polarlayer\"/><g class=\"smithlayer\"/><g class=\"ternarylayer\"/><g class=\"geolayer\"/><g class=\"funnelarealayer\"/><g class=\"pielayer\"/><g class=\"iciclelayer\"/><g class=\"treemaplayer\"/><g class=\"sunburstlayer\"/><g class=\"glimages\"/><defs id=\"topdefs-006c05\"><g class=\"clips\"/><clipPath id=\"legend006c05\"><rect width=\"93\" height=\"48\" x=\"0\" y=\"0\"/></clipPath></defs><g class=\"layer-above\"><g class=\"imagelayer\"/><g class=\"shapelayer\"><g class=\"shape-group\" data-index=\"0\" clip-path=\"url(#clip006c05xy)\"><path data-index=\"0\" fill-rule=\"evenodd\" d=\"M145.17000000000002,404H168.38V116H145.17000000000002Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"1\" clip-path=\"url(#clip006c05xy)\"><path data-index=\"1\" fill-rule=\"evenodd\" d=\"M150.72,254.24H156.78V236.96H150.72Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"2\" clip-path=\"url(#clip006c05xy)\"><path data-index=\"2\" fill-rule=\"evenodd\" d=\"M150.72,242.72L156.78,242.72\" style=\"opacity: 1; stroke: rgb(255, 255, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"3\" clip-path=\"url(#clip006c05xy)\"><path data-index=\"3\" fill-rule=\"evenodd\" d=\"M139.11,404H217.84V116H139.11Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"4\" clip-path=\"url(#clip006c05xy)\"><path data-index=\"4\" fill-rule=\"evenodd\" d=\"M145.67000000000002,404H193.61V378.08H145.67000000000002Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"5\" clip-path=\"url(#clip006c05xy)\"><path data-index=\"5\" fill-rule=\"evenodd\" d=\"M145.67000000000002,401.12L193.61,401.12\" style=\"opacity: 1; stroke: rgb(255, 255, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-width: 2px;\"/></g></g></g><g class=\"infolayer\"><g class=\"legend\" pointer-events=\"all\" transform=\"translate(595.1,100)\"><rect class=\"bg\" shape-rendering=\"crispEdges\" width=\"93\" height=\"48\" x=\"0\" y=\"0\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1; stroke-width: 0px;\"/><g class=\"scrollbox\" transform=\"\" clip-path=\"url(#legend006c05)\"><g class=\"groups\"><g class=\"traces\" transform=\"translate(0,14.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Throttle</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g><g class=\"traces\" transform=\"translate(0,33.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Brake</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g></g></g><rect class=\"scrollbar\" rx=\"20\" ry=\"3\" width=\"0\" height=\"0\" x=\"0\" y=\"0\" style=\"fill: rgb(128, 139, 164); fill-opacity: 1;\"/></g><g class=\"g-gtitle\"/><g class=\"g-xtitle\"/><g class=\"g-ytitle\"/></g></svg>" 350 ] 351 }, 352 "metadata": {}, 353 "output_type": "display_data" 354 }, 355 { 356 "data": { 357 "text/plain": [ 358 "'time: 6.316667500000001 579 -> 770 / track: 1928.57'" 359 ] 360 }, 361 "metadata": {}, 362 "output_type": "display_data" 363 }, 364 { 365 "data": { 366 "text/plain": [ 367 "'brake: {}'" 368 ] 369 }, 370 "metadata": {}, 371 "output_type": "display_data" 372 }, 373 { 374 "data": { 375 "text/plain": [ 376 "\"throttle: {'start': 579.51, 'end': 639.48, 'max_start': 580.51, 'max_end': 629.49, 'max_high': 0.8, 'max_low': 0.7, 'force': 0.77, 'approach_speed': 25.23, 'min_speed': 25.23}\"" 377 ] 378 }, 379 "metadata": {}, 380 "output_type": "display_data" 381 }, 382 { 383 "data": { 384 "text/plain": [ 385 "\"gear: {'gear': 2, 'distance_gear': {580: 2}}\"" 386 ] 387 }, 388 "metadata": {}, 389 "output_type": "display_data" 390 }, 391 { 392 "data": { 393 "image/svg+xml": [ 394 "<svg class=\"main-svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"700\" height=\"500\" style=\"\" viewBox=\"0 0 700 500\"><rect x=\"0\" y=\"0\" width=\"700\" height=\"500\" style=\"fill: rgb(255, 255, 255); fill-opacity: 1;\"/><defs id=\"defs-cff8af\"><g class=\"clips\"><clipPath id=\"clipcff8afxyplot\" class=\"plotclip\"><rect width=\"505\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clipcff8afx\"><rect x=\"80\" y=\"0\" width=\"505\" height=\"500\"/></clipPath><clipPath class=\"axesclip\" id=\"clipcff8afy\"><rect x=\"0\" y=\"100\" width=\"700\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clipcff8afxy\"><rect x=\"80\" y=\"100\" width=\"505\" height=\"320\"/></clipPath></g><g class=\"gradients\"/><g class=\"patterns\"/></defs><g class=\"bglayer\"><rect class=\"bg\" x=\"80\" y=\"100\" width=\"505\" height=\"320\" style=\"fill: rgb(229, 236, 246); fill-opacity: 1; stroke-width: 0;\"/></g><g class=\"layer-below\"><g class=\"imagelayer\"/><g class=\"shapelayer\"/></g><g class=\"cartesianlayer\"><g class=\"subplot xy\"><g class=\"layer-subplot\"><g class=\"shapelayer\"/><g class=\"imagelayer\"/></g><g class=\"minor-gridlayer\"><g class=\"x\"/><g class=\"y\"/></g><g class=\"gridlayer\"><g class=\"x\"><path class=\"xgrid crisp\" transform=\"translate(130.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(181,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(231.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(282,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(332.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(383,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(433.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(484,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(534.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g><g class=\"y\"><path class=\"ygrid crisp\" transform=\"translate(0,346.4)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,288.8)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,231.2)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,173.6)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,116)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g></g><g class=\"zerolinelayer\"><path class=\"yzl zl crisp\" transform=\"translate(0,404)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 2px;\"/></g><path class=\"xlines-below\"/><path class=\"ylines-below\"/><g class=\"overlines-below\"/><g class=\"xaxislayer-below\"/><g class=\"yaxislayer-below\"/><g class=\"overaxes-below\"/><g class=\"plot\" transform=\"translate(80,100)\" clip-path=\"url(#clipcff8afxyplot)\"><g class=\"scatterlayer mlayer\"><g class=\"trace scatter trace0e91ab\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M40.15,66.71L41.16,88.69L41.67,87.89L42.68,82.89L43.18,83.64L43.69,89.51L44.19,99.75L44.69,136.27L46.21,157.26L46.71,150.08L48.23,135.01L48.73,136.91L50.25,146.77L50.75,153.96L51.26,153.09L51.76,148.45L53.78,59.58L54.29,55.22L54.79,53.71L55.3,53.97L55.8,54.02L56.3,54.45L56.81,56.05L57.31,55.98L57.82,56.67L59.33,57.7L59.84,65.33L61.86,79.4L62.36,78.74L64.89,75.9L65.39,74.45L66.4,61.71L66.91,47.81L67.92,28.78L68.42,27.11L69.93,23.48L70.44,21.43L71.95,21.03L72.46,21.35L74.98,22.31L75.49,22.06L78.01,22.17L78.52,22.27L79.02,22.28L79.53,21.43L83.06,24.27L83.56,22.95L84.07,21.91L84.57,23.48L85.58,22.18L86.09,18.37L87.1,16L87.6,16L136.06,16\" style=\"vector-effect: none; fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g><g class=\"trace scatter trace8160be\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M40.15,304L136.06,304\" style=\"vector-effect: none; fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g></g></g><g class=\"overplot\"/><path class=\"xlines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><path class=\"ylines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><g class=\"overlines-above\"/><g class=\"xaxislayer-above\"><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" transform=\"translate(80,0)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">500</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(130.5,0)\">600</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(181,0)\">700</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(231.5,0)\">800</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(282,0)\">900</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(332.5,0)\">1000</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(383,0)\">1100</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(433.5,0)\">1200</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(484,0)\">1300</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(534.5,0)\">1400</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(585,0)\">1500</text></g></g><g class=\"yaxislayer-above\"><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" transform=\"translate(0,404)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">0</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,346.4)\">0.2</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,288.8)\">0.4</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,231.2)\">0.6</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,173.6)\">0.8</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,116)\">1</text></g></g><g class=\"overaxes-above\"/></g></g><g class=\"polarlayer\"/><g class=\"smithlayer\"/><g class=\"ternarylayer\"/><g class=\"geolayer\"/><g class=\"funnelarealayer\"/><g class=\"pielayer\"/><g class=\"iciclelayer\"/><g class=\"treemaplayer\"/><g class=\"sunburstlayer\"/><g class=\"glimages\"/><defs id=\"topdefs-cff8af\"><g class=\"clips\"/><clipPath id=\"legendcff8af\"><rect width=\"93\" height=\"48\" x=\"0\" y=\"0\"/></clipPath></defs><g class=\"layer-above\"><g class=\"imagelayer\"/><g class=\"shapelayer\"><g class=\"shape-group\" data-index=\"0\" clip-path=\"url(#clipcff8afxy)\"><path data-index=\"0\" fill-rule=\"evenodd\" d=\"M120.15,404H150.44V116H120.15Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"1\" clip-path=\"url(#clipcff8afxy)\"><path data-index=\"1\" fill-rule=\"evenodd\" d=\"M120.66,202.4H145.39V173.6H120.66Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"2\" clip-path=\"url(#clipcff8afxy)\"><path data-index=\"2\" fill-rule=\"evenodd\" d=\"M120.66,182.24L145.39,182.24\" style=\"opacity: 1; stroke: rgb(255, 255, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-width: 2px;\"/></g></g></g><g class=\"infolayer\"><g class=\"legend\" pointer-events=\"all\" transform=\"translate(595.1,100)\"><rect class=\"bg\" shape-rendering=\"crispEdges\" width=\"93\" height=\"48\" x=\"0\" y=\"0\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1; stroke-width: 0px;\"/><g class=\"scrollbox\" transform=\"\" clip-path=\"url(#legendcff8af)\"><g class=\"groups\"><g class=\"traces\" transform=\"translate(0,14.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Throttle</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g><g class=\"traces\" transform=\"translate(0,33.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Brake</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g></g></g><rect class=\"scrollbar\" rx=\"20\" ry=\"3\" width=\"0\" height=\"0\" x=\"0\" y=\"0\" style=\"fill: rgb(128, 139, 164); fill-opacity: 1;\"/></g><g class=\"g-gtitle\"/><g class=\"g-xtitle\"/><g class=\"g-ytitle\"/></g></svg>" 395 ] 396 }, 397 "metadata": {}, 398 "output_type": "display_data" 399 }, 400 { 401 "data": { 402 "text/plain": [ 403 "'time: 7.9166679 771 -> 1003 / track: 1928.57'" 404 ] 405 }, 406 "metadata": {}, 407 "output_type": "display_data" 408 }, 409 { 410 "data": { 411 "text/plain": [ 412 "\"brake: {'start': 871.7, 'end': 934.71, 'max_start': 880.7, 'max_end': 924.71, 'max_high': 0.63, 'max_low': 0.52, 'force': 0.6, 'approach_speed': 39.12, 'min_speed': 22.45}\"" 413 ] 414 }, 415 "metadata": {}, 416 "output_type": "display_data" 417 }, 418 { 419 "data": { 420 "text/plain": [ 421 "\"throttle: {'start': 864.7, 'end': 966.72, 'max_start': 873.7, 'max_end': 958.72, 'max_high': 0.09, 'max_low': 0.0, 'force': 0.01, 'approach_speed': 39.12, 'min_speed': 18.26}\"" 422 ] 423 }, 424 "metadata": {}, 425 "output_type": "display_data" 426 }, 427 { 428 "data": { 429 "text/plain": [ 430 "\"gear: {'gear': 1, 'distance_gear': {772: 2, 815: 3, 886: 2, 940: 1}}\"" 431 ] 432 }, 433 "metadata": {}, 434 "output_type": "display_data" 435 }, 436 { 437 "data": { 438 "image/svg+xml": [ 439 "<svg class=\"main-svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"700\" height=\"500\" style=\"\" viewBox=\"0 0 700 500\"><rect x=\"0\" y=\"0\" width=\"700\" height=\"500\" style=\"fill: rgb(255, 255, 255); fill-opacity: 1;\"/><defs id=\"defs-5f4ddf\"><g class=\"clips\"><clipPath id=\"clip5f4ddfxyplot\" class=\"plotclip\"><rect width=\"505\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clip5f4ddfx\"><rect x=\"80\" y=\"0\" width=\"505\" height=\"500\"/></clipPath><clipPath class=\"axesclip\" id=\"clip5f4ddfy\"><rect x=\"0\" y=\"100\" width=\"700\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clip5f4ddfxy\"><rect x=\"80\" y=\"100\" width=\"505\" height=\"320\"/></clipPath></g><g class=\"gradients\"/><g class=\"patterns\"/></defs><g class=\"bglayer\"><rect class=\"bg\" x=\"80\" y=\"100\" width=\"505\" height=\"320\" style=\"fill: rgb(229, 236, 246); fill-opacity: 1; stroke-width: 0;\"/></g><g class=\"layer-below\"><g class=\"imagelayer\"/><g class=\"shapelayer\"/></g><g class=\"cartesianlayer\"><g class=\"subplot xy\"><g class=\"layer-subplot\"><g class=\"shapelayer\"/><g class=\"imagelayer\"/></g><g class=\"minor-gridlayer\"><g class=\"x\"/><g class=\"y\"/></g><g class=\"gridlayer\"><g class=\"x\"><path class=\"xgrid crisp\" transform=\"translate(130.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(181,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(231.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(282,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(332.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(383,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(433.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(484,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(534.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g><g class=\"y\"><path class=\"ygrid crisp\" transform=\"translate(0,346.4)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,288.8)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,231.2)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,173.6)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,116)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g></g><g class=\"zerolinelayer\"><path class=\"yzl zl crisp\" transform=\"translate(0,404)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 2px;\"/></g><path class=\"xlines-below\"/><path class=\"ylines-below\"/><g class=\"overlines-below\"/><g class=\"xaxislayer-below\"/><g class=\"yaxislayer-below\"/><g class=\"overaxes-below\"/><g class=\"plot\" transform=\"translate(80,100)\" clip-path=\"url(#clip5f4ddfxyplot)\"><g class=\"scatterlayer mlayer\"><g class=\"trace scatter trace60e9c9\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M36.19,16L82.67,16L83.17,22.81L83.68,34.23L84.18,72.33L86.2,227.39L86.71,252.89L89.74,304L90.24,304L93.27,304L93.78,200.65L94.79,304L95.29,304L120.55,304L121.06,212.5L121.56,212.5L122.07,302.78L122.57,302.6L123.08,300.62L124.09,299.63L124.59,296.9L127.12,289.89L127.62,289.67L130.15,287.29L130.65,282.18L132.17,240.07L132.67,215.36L133.18,189.88L133.68,117.67L135.2,16L135.7,16L137.72,16.32L138.23,17.5L138.73,18.76L139.24,22.7L140.76,32.79L141.26,32.13L141.77,31.74L142.27,27.72L144.29,16L144.8,16L152.88,16\" style=\"vector-effect: none; fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g><g class=\"trace scatter trace40d315\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M36.19,304L84.18,303.93L84.69,300.8L85.19,300.8L85.7,293.25L89.23,189.74L89.74,179.62L91.76,153.46L92.26,149.83L94.28,137.8L94.79,137.8L95.29,135.51L95.8,135.63L96.3,134.88L97.82,135L98.33,133.05L102.37,126.39L102.87,126.46L105.9,122.89L106.41,123.35L108.43,124.31L108.93,123.62L109.94,123.77L110.45,123.9L111.46,125.05L111.96,128.99L112.97,136.98L113.48,147.95L114.49,170.15L114.99,174.22L116.51,225.68L117.01,240.09L119.04,289.88L119.54,295.37L120.55,302.73L121.06,304L152.88,304\" style=\"vector-effect: none; fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g></g></g><g class=\"overplot\"/><path class=\"xlines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><path class=\"ylines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><g class=\"overlines-above\"/><g class=\"xaxislayer-above\"><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" transform=\"translate(80,0)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">700</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(130.5,0)\">800</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(181,0)\">900</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(231.5,0)\">1000</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(282,0)\">1100</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(332.5,0)\">1200</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(383,0)\">1300</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(433.5,0)\">1400</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(484,0)\">1500</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(534.5,0)\">1600</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(585,0)\">1700</text></g></g><g class=\"yaxislayer-above\"><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" transform=\"translate(0,404)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">0</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,346.4)\">0.2</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,288.8)\">0.4</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,231.2)\">0.6</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,173.6)\">0.8</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,116)\">1</text></g></g><g class=\"overaxes-above\"/></g></g><g class=\"polarlayer\"/><g class=\"smithlayer\"/><g class=\"ternarylayer\"/><g class=\"geolayer\"/><g class=\"funnelarealayer\"/><g class=\"pielayer\"/><g class=\"iciclelayer\"/><g class=\"treemaplayer\"/><g class=\"sunburstlayer\"/><g class=\"glimages\"/><defs id=\"topdefs-5f4ddf\"><g class=\"clips\"/><clipPath id=\"legend5f4ddf\"><rect width=\"93\" height=\"48\" x=\"0\" y=\"0\"/></clipPath></defs><g class=\"layer-above\"><g class=\"imagelayer\"/><g class=\"shapelayer\"><g class=\"shape-group\" data-index=\"0\" clip-path=\"url(#clip5f4ddfxy)\"><path data-index=\"0\" fill-rule=\"evenodd\" d=\"M166.70999999999998,404H198.53V116H166.70999999999998Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"1\" clip-path=\"url(#clip5f4ddfxy)\"><path data-index=\"1\" fill-rule=\"evenodd\" d=\"M171.25,254.24H193.48000000000002V222.56H171.25Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"2\" clip-path=\"url(#clip5f4ddfxy)\"><path data-index=\"2\" fill-rule=\"evenodd\" d=\"M171.25,231.2L193.48000000000002,231.2\" style=\"opacity: 1; stroke: rgb(255, 255, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"3\" clip-path=\"url(#clip5f4ddfxy)\"><path data-index=\"3\" fill-rule=\"evenodd\" d=\"M163.17000000000002,404H214.69V116H163.17000000000002Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"4\" clip-path=\"url(#clip5f4ddfxy)\"><path data-index=\"4\" fill-rule=\"evenodd\" d=\"M167.72,404H210.65V378.08H167.72Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"5\" clip-path=\"url(#clip5f4ddfxy)\"><path data-index=\"5\" fill-rule=\"evenodd\" d=\"M167.72,401.12L210.65,401.12\" style=\"opacity: 1; stroke: rgb(255, 255, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-width: 2px;\"/></g></g></g><g class=\"infolayer\"><g class=\"legend\" pointer-events=\"all\" transform=\"translate(595.1,100)\"><rect class=\"bg\" shape-rendering=\"crispEdges\" width=\"93\" height=\"48\" x=\"0\" y=\"0\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1; stroke-width: 0px;\"/><g class=\"scrollbox\" transform=\"\" clip-path=\"url(#legend5f4ddf)\"><g class=\"groups\"><g class=\"traces\" transform=\"translate(0,14.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Throttle</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g><g class=\"traces\" transform=\"translate(0,33.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Brake</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g></g></g><rect class=\"scrollbar\" rx=\"20\" ry=\"3\" width=\"0\" height=\"0\" x=\"0\" y=\"0\" style=\"fill: rgb(128, 139, 164); fill-opacity: 1;\"/></g><g class=\"g-gtitle\"/><g class=\"g-xtitle\"/><g class=\"g-ytitle\"/></g></svg>" 440 ] 441 }, 442 "metadata": {}, 443 "output_type": "display_data" 444 }, 445 { 446 "data": { 447 "text/plain": [ 448 "'time: 11.299997400000002 1004 -> 1308 / track: 1928.57'" 449 ] 450 }, 451 "metadata": {}, 452 "output_type": "display_data" 453 }, 454 { 455 "data": { 456 "text/plain": [ 457 "\"brake: {'start': 1039.51, 'end': 1068.51, 'max_start': 1039.51, 'max_end': 1067.51, 'max_high': 0.3, 'max_low': 0.11, 'force': 0.26, 'approach_speed': 27.08, 'min_speed': 21.14}\"" 458 ] 459 }, 460 "metadata": {}, 461 "output_type": "display_data" 462 }, 463 { 464 "data": { 465 "text/plain": [ 466 "\"throttle: {'start': 1033.51, 'end': 1130.49, 'max_start': 1040.51, 'max_end': 1087.5, 'max_high': 0.05, 'max_low': 0.0, 'force': 0.0, 'approach_speed': 26.92, 'min_speed': 18.62}\"" 467 ] 468 }, 469 "metadata": {}, 470 "output_type": "display_data" 471 }, 472 { 473 "data": { 474 "text/plain": [ 475 "\"gear: {'gear': 1, 'distance_gear': {1005: 1, 1193: 2, 1298: 3}}\"" 476 ] 477 }, 478 "metadata": {}, 479 "output_type": "display_data" 480 }, 481 { 482 "data": { 483 "image/svg+xml": [ 484 "<svg class=\"main-svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"700\" height=\"500\" style=\"\" viewBox=\"0 0 700 500\"><rect x=\"0\" y=\"0\" width=\"700\" height=\"500\" style=\"fill: rgb(255, 255, 255); fill-opacity: 1;\"/><defs id=\"defs-351437\"><g class=\"clips\"><clipPath id=\"clip351437xyplot\" class=\"plotclip\"><rect width=\"505\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clip351437x\"><rect x=\"80\" y=\"0\" width=\"505\" height=\"500\"/></clipPath><clipPath class=\"axesclip\" id=\"clip351437y\"><rect x=\"0\" y=\"100\" width=\"700\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clip351437xy\"><rect x=\"80\" y=\"100\" width=\"505\" height=\"320\"/></clipPath></g><g class=\"gradients\"/><g class=\"patterns\"/></defs><g class=\"bglayer\"><rect class=\"bg\" x=\"80\" y=\"100\" width=\"505\" height=\"320\" style=\"fill: rgb(229, 236, 246); fill-opacity: 1; stroke-width: 0;\"/></g><g class=\"layer-below\"><g class=\"imagelayer\"/><g class=\"shapelayer\"/></g><g class=\"cartesianlayer\"><g class=\"subplot xy\"><g class=\"layer-subplot\"><g class=\"shapelayer\"/><g class=\"imagelayer\"/></g><g class=\"minor-gridlayer\"><g class=\"x\"/><g class=\"y\"/></g><g class=\"gridlayer\"><g class=\"x\"><path class=\"xgrid crisp\" transform=\"translate(130.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(181,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(231.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(282,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(332.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(383,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(433.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(484,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(534.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g><g class=\"y\"><path class=\"ygrid crisp\" transform=\"translate(0,346.4)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,288.8)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,231.2)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,173.6)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,116)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g></g><g class=\"zerolinelayer\"><path class=\"yzl zl crisp\" transform=\"translate(0,404)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 2px;\"/></g><path class=\"xlines-below\"/><path class=\"ylines-below\"/><g class=\"overlines-below\"/><g class=\"xaxislayer-below\"/><g class=\"yaxislayer-below\"/><g class=\"overaxes-below\"/><g class=\"plot\" transform=\"translate(80,100)\" clip-path=\"url(#clip351437xyplot)\"><g class=\"scatterlayer mlayer\"><g class=\"trace scatter trace2442b6\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M2.28,16L16.42,16L16.92,36.61L18.94,185.9L19.45,253.64L20.96,298.31L21.47,301.22L22.48,304L22.98,304L43.68,304L44.19,294.83L46.71,216.24L47.22,205.84L48.73,154.14L49.24,105.54L51.26,27.65L51.76,26.6L52.27,25.39L52.77,25.94L53.28,25.43L54.79,25.48L55.3,25.49L56.81,33.98L57.32,33.86L58.33,33.45L58.83,34.54L59.34,34.23L59.84,37.17L60.85,45.72L61.35,45.1L61.86,43.85L62.87,40.22L63.37,35.1L63.88,22.65L64.38,23.58L64.89,24.31L65.39,24.55L65.9,21.7L67.92,16L68.42,16L155.27,16\" style=\"vector-effect: none; fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g><g class=\"trace scatter tracef03392\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M2.28,304L18.44,304L18.94,302.83L21.97,227.75L22.48,219.59L23.49,218.63L23.99,218.87L26.01,219L26.52,218.01L28.03,217.98L28.54,217.75L29.55,217.89L30.05,221.75L31.06,227.43L31.57,235.39L33.08,248.89L33.59,254.99L36.11,301.83L36.61,303.15L38.13,304L38.63,304L155.27,304\" style=\"vector-effect: none; fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g></g></g><g class=\"overplot\"/><path class=\"xlines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><path class=\"ylines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><g class=\"overlines-above\"/><g class=\"xaxislayer-above\"><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" transform=\"translate(80,0)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">1000</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(130.5,0)\">1100</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(181,0)\">1200</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(231.5,0)\">1300</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(282,0)\">1400</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(332.5,0)\">1500</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(383,0)\">1600</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(433.5,0)\">1700</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(484,0)\">1800</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(534.5,0)\">1900</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(585,0)\">2000</text></g></g><g class=\"yaxislayer-above\"><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" transform=\"translate(0,404)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">0</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,346.4)\">0.2</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,288.8)\">0.4</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,231.2)\">0.6</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,173.6)\">0.8</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,116)\">1</text></g></g><g class=\"overaxes-above\"/></g></g><g class=\"polarlayer\"/><g class=\"smithlayer\"/><g class=\"ternarylayer\"/><g class=\"geolayer\"/><g class=\"funnelarealayer\"/><g class=\"pielayer\"/><g class=\"iciclelayer\"/><g class=\"treemaplayer\"/><g class=\"sunburstlayer\"/><g class=\"glimages\"/><defs id=\"topdefs-351437\"><g class=\"clips\"/><clipPath id=\"legend351437\"><rect width=\"93\" height=\"48\" x=\"0\" y=\"0\"/></clipPath></defs><g class=\"layer-above\"><g class=\"imagelayer\"/><g class=\"shapelayer\"><g class=\"shape-group\" data-index=\"0\" clip-path=\"url(#clip351437xy)\"><path data-index=\"0\" fill-rule=\"evenodd\" d=\"M99.95,404H114.6V116H99.95Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"1\" clip-path=\"url(#clip351437xy)\"><path data-index=\"1\" fill-rule=\"evenodd\" d=\"M99.95,372.32H114.09V317.6H99.95Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"2\" clip-path=\"url(#clip351437xy)\"><path data-index=\"2\" fill-rule=\"evenodd\" d=\"M99.95,329.12L114.09,329.12\" style=\"opacity: 1; stroke: rgb(255, 255, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"3\" clip-path=\"url(#clip351437xy)\"><path data-index=\"3\" fill-rule=\"evenodd\" d=\"M96.92,404H145.9V116H96.92Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"4\" clip-path=\"url(#clip351437xy)\"><path data-index=\"4\" fill-rule=\"evenodd\" d=\"M100.46000000000001,404H124.19V389.6H100.46000000000001Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"5\" clip-path=\"url(#clip351437xy)\"><path data-index=\"5\" fill-rule=\"evenodd\" d=\"M100.46000000000001,404L124.19,404\" style=\"opacity: 1; stroke: rgb(255, 255, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-width: 2px;\"/></g></g></g><g class=\"infolayer\"><g class=\"legend\" pointer-events=\"all\" transform=\"translate(595.1,100)\"><rect class=\"bg\" shape-rendering=\"crispEdges\" width=\"93\" height=\"48\" x=\"0\" y=\"0\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1; stroke-width: 0px;\"/><g class=\"scrollbox\" transform=\"\" clip-path=\"url(#legend351437)\"><g class=\"groups\"><g class=\"traces\" transform=\"translate(0,14.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Throttle</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g><g class=\"traces\" transform=\"translate(0,33.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Brake</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g></g></g><rect class=\"scrollbar\" rx=\"20\" ry=\"3\" width=\"0\" height=\"0\" x=\"0\" y=\"0\" style=\"fill: rgb(128, 139, 164); fill-opacity: 1;\"/></g><g class=\"g-gtitle\"/><g class=\"g-xtitle\"/><g class=\"g-ytitle\"/></g></svg>" 485 ] 486 }, 487 "metadata": {}, 488 "output_type": "display_data" 489 }, 490 { 491 "data": { 492 "text/plain": [ 493 "'time: 16.4 1309 -> 1928 / track: 1928.57'" 494 ] 495 }, 496 "metadata": {}, 497 "output_type": "display_data" 498 }, 499 { 500 "data": { 501 "text/plain": [ 502 "\"brake: {'start': 1406.9, 'end': 1449.88, 'max_start': 1417.9, 'max_end': 1441.89, 'max_high': 0.61, 'max_low': 0.5, 'force': 0.58, 'approach_speed': 39.84, 'min_speed': 30.78}\"" 503 ] 504 }, 505 "metadata": {}, 506 "output_type": "display_data" 507 }, 508 { 509 "data": { 510 "text/plain": [ 511 "\"throttle: {'start': 1404.9, 'end': 1522.85, 'max_start': 1412.9, 'max_end': 1480.87, 'max_high': 0.08, 'max_low': 0.0, 'force': 0.01, 'approach_speed': 39.79, 'min_speed': 28.85}\"" 512 ] 513 }, 514 "metadata": {}, 515 "output_type": "display_data" 516 }, 517 { 518 "data": { 519 "text/plain": [ 520 "\"gear: {'gear': 2, 'distance_gear': {1310: 3, 1432: 2, 1638: 3, 1856: 4}}\"" 521 ] 522 }, 523 "metadata": {}, 524 "output_type": "display_data" 525 }, 526 { 527 "data": { 528 "image/svg+xml": [ 529 "<svg class=\"main-svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"700\" height=\"500\" style=\"\" viewBox=\"0 0 700 500\"><rect x=\"0\" y=\"0\" width=\"700\" height=\"500\" style=\"fill: rgb(255, 255, 255); fill-opacity: 1;\"/><defs id=\"defs-388f1b\"><g class=\"clips\"><clipPath id=\"clip388f1bxyplot\" class=\"plotclip\"><rect width=\"505\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clip388f1bx\"><rect x=\"80\" y=\"0\" width=\"505\" height=\"500\"/></clipPath><clipPath class=\"axesclip\" id=\"clip388f1by\"><rect x=\"0\" y=\"100\" width=\"700\" height=\"320\"/></clipPath><clipPath class=\"axesclip\" id=\"clip388f1bxy\"><rect x=\"80\" y=\"100\" width=\"505\" height=\"320\"/></clipPath></g><g class=\"gradients\"/><g class=\"patterns\"/></defs><g class=\"bglayer\"><rect class=\"bg\" x=\"80\" y=\"100\" width=\"505\" height=\"320\" style=\"fill: rgb(229, 236, 246); fill-opacity: 1; stroke-width: 0;\"/></g><g class=\"layer-below\"><g class=\"imagelayer\"/><g class=\"shapelayer\"/></g><g class=\"cartesianlayer\"><g class=\"subplot xy\"><g class=\"layer-subplot\"><g class=\"shapelayer\"/><g class=\"imagelayer\"/></g><g class=\"minor-gridlayer\"><g class=\"x\"/><g class=\"y\"/></g><g class=\"gridlayer\"><g class=\"x\"><path class=\"xgrid crisp\" transform=\"translate(130.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(181,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(231.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(282,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(332.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(383,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(433.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(484,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"xgrid crisp\" transform=\"translate(534.5,0)\" d=\"M0,100v320\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g><g class=\"y\"><path class=\"ygrid crisp\" transform=\"translate(0,346.4)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,288.8)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,231.2)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,173.6)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/><path class=\"ygrid crisp\" transform=\"translate(0,116)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;\"/></g></g><g class=\"zerolinelayer\"><path class=\"yzl zl crisp\" transform=\"translate(0,404)\" d=\"M80,0h505\" style=\"stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 2px;\"/></g><path class=\"xlines-below\"/><path class=\"ylines-below\"/><g class=\"overlines-below\"/><g class=\"xaxislayer-below\"/><g class=\"yaxislayer-below\"/><g class=\"overaxes-below\"/><g class=\"plot\" transform=\"translate(80,100)\" clip-path=\"url(#clip388f1bxyplot)\"><g class=\"scatterlayer mlayer\"><g class=\"trace scatter trace0fefee\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M5.02,16L52.47,16L52.97,33.17L54.99,228.74L55.5,228.74L57.01,279.98L57.52,279.98L59.54,304L60.04,304L66.1,304L66.6,271.76L67.11,271.76L67.61,304L90.33,304L90.83,296.68L91.84,260.31L92.35,220.81L93.86,153.32L94.37,154.14L95.88,156.83L96.39,155.91L97.9,156.41L98.4,156L100.42,154.82L100.93,155.62L102.44,155.15L102.95,154.58L104.97,151.4L105.47,148.2L107.49,133.92L108,120.98L111.02,30.81L111.53,27.53L113.55,16L114.05,16L316.98,16\" style=\"vector-effect: none; fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g><g class=\"trace scatter trace0b0d22\" style=\"stroke-miterlimit: 2; opacity: 1;\"><g class=\"fills\"/><g class=\"errorbars\"/><g class=\"lines\"><path class=\"js-line\" d=\"M5.02,304L50.95,303.79L51.46,303.11L51.96,303.11L52.47,301.68L52.97,296.05L53.48,281L54.99,222.74L55.5,222.74L60.04,151.34L60.54,151.34L64.08,129.8L64.58,129.8L65.59,128.1L66.1,128.07L67.11,127.9L67.61,128.68L69.13,128.32L69.63,129.04L70.14,129.04L70.64,140.35L74.68,225.29L75.18,253.42L76.7,300.79L77.2,303.15L78.72,304L79.22,304L316.98,304\" style=\"vector-effect: none; fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;\"/></g><g class=\"points\"/><g class=\"text\"/></g></g></g><g class=\"overplot\"/><path class=\"xlines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><path class=\"ylines-above crisp\" d=\"M0,0\" style=\"fill: none;\"/><g class=\"overlines-above\"/><g class=\"xaxislayer-above\"><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" transform=\"translate(80,0)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">1300</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(130.5,0)\">1400</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(181,0)\">1500</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(231.5,0)\">1600</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(282,0)\">1700</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(332.5,0)\">1800</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(383,0)\">1900</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(433.5,0)\">2000</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(484,0)\">2100</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(534.5,0)\">2200</text></g><g class=\"xtick\"><text text-anchor=\"middle\" x=\"0\" y=\"433\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(585,0)\">2300</text></g></g><g class=\"yaxislayer-above\"><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" transform=\"translate(0,404)\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\">0</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,346.4)\">0.2</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,288.8)\">0.4</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,231.2)\">0.6</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,173.6)\">0.8</text></g><g class=\"ytick\"><text text-anchor=\"end\" x=\"79\" y=\"4.199999999999999\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;\" transform=\"translate(0,116)\">1</text></g></g><g class=\"overaxes-above\"/></g></g><g class=\"polarlayer\"/><g class=\"smithlayer\"/><g class=\"ternarylayer\"/><g class=\"geolayer\"/><g class=\"funnelarealayer\"/><g class=\"pielayer\"/><g class=\"iciclelayer\"/><g class=\"treemaplayer\"/><g class=\"sunburstlayer\"/><g class=\"glimages\"/><defs id=\"topdefs-388f1b\"><g class=\"clips\"/><clipPath id=\"legend388f1b\"><rect width=\"93\" height=\"48\" x=\"0\" y=\"0\"/></clipPath></defs><g class=\"layer-above\"><g class=\"imagelayer\"/><g class=\"shapelayer\"><g class=\"shape-group\" data-index=\"0\" clip-path=\"url(#clip388f1bxy)\"><path data-index=\"0\" fill-rule=\"evenodd\" d=\"M133.98,404H155.69V116H133.98Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"1\" clip-path=\"url(#clip388f1bxy)\"><path data-index=\"1\" fill-rule=\"evenodd\" d=\"M139.54,260H151.65V228.32H139.54Z\" style=\"opacity: 1; stroke: rgb(255, 0, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"2\" clip-path=\"url(#clip388f1bxy)\"><path data-index=\"2\" fill-rule=\"evenodd\" d=\"M139.54,236.96L151.65,236.96\" style=\"opacity: 1; stroke: rgb(255, 255, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"3\" clip-path=\"url(#clip388f1bxy)\"><path data-index=\"3\" fill-rule=\"evenodd\" d=\"M132.97,404H192.54000000000002V116H132.97Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"4\" clip-path=\"url(#clip388f1bxy)\"><path data-index=\"4\" fill-rule=\"evenodd\" d=\"M137.01,404H171.34V380.96H137.01Z\" style=\"opacity: 1; stroke: rgb(0, 128, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-dasharray: 3px, 3px; stroke-width: 2px;\"/></g><g class=\"shape-group\" data-index=\"5\" clip-path=\"url(#clip388f1bxy)\"><path data-index=\"5\" fill-rule=\"evenodd\" d=\"M137.01,401.12L171.34,401.12\" style=\"opacity: 1; stroke: rgb(255, 255, 0); stroke-opacity: 1; fill: rgb(0, 0, 0); fill-opacity: 0; stroke-width: 2px;\"/></g></g></g><g class=\"infolayer\"><g class=\"legend\" pointer-events=\"all\" transform=\"translate(595.1,100)\"><rect class=\"bg\" shape-rendering=\"crispEdges\" width=\"93\" height=\"48\" x=\"0\" y=\"0\" style=\"stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1; stroke-width: 0px;\"/><g class=\"scrollbox\" transform=\"\" clip-path=\"url(#legend388f1b)\"><g class=\"groups\"><g class=\"traces\" transform=\"translate(0,14.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Throttle</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(0, 128, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g><g class=\"traces\" transform=\"translate(0,33.5)\" style=\"opacity: 1;\"><text class=\"legendtext\" text-anchor=\"start\" x=\"40\" y=\"4.680000000000001\" style=\"font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre;\">Brake</text><g class=\"layers\" style=\"opacity: 1;\"><g class=\"legendfill\"/><g class=\"legendlines\"><path class=\"js-line\" d=\"M5,0h30\" style=\"fill: none; stroke: rgb(255, 0, 0); stroke-opacity: 1; stroke-width: 2px;\"/></g><g class=\"legendsymbols\"><g class=\"legendpoints\"/></g></g><rect class=\"legendtoggle\" x=\"0\" y=\"-9.5\" width=\"87.296875\" height=\"19\" style=\"fill: rgb(0, 0, 0); fill-opacity: 0;\"/></g></g></g><rect class=\"scrollbar\" rx=\"20\" ry=\"3\" width=\"0\" height=\"0\" x=\"0\" y=\"0\" style=\"fill: rgb(128, 139, 164); fill-opacity: 1;\"/></g><g class=\"g-gtitle\"/><g class=\"g-xtitle\"/><g class=\"g-ytitle\"/></g></svg>" 530 ] 531 }, 532 "metadata": {}, 533 "output_type": "display_data" 534 } 535 ], 536 "source": [ 537 "segments, used_laps = fast_lap_analyzer.extract_segments(sector_start_end, data_frames, laps_with_telemetry, df_max)\n", 538 "track_length = df_max[\"DistanceRoundTrack\"].max()\n", 539 "for i in range(len(segments)):\n", 540 " segment = segments[i]\n", 541 " # display(segment.start, segment.end, segment.turn)\n", 542 " # display(segment.telemetry)\n", 543 " # df = telemetry_for_fig(segment)\n", 544 " df = segment.telemetry\n", 545 " fig = lap_fig(df, columns=[\"Throttle\", \"Brake\"])\n", 546 " brake_features = segment.brake_features()\n", 547 " if brake_features:\n", 548 " # brake_features = features_for_fig(segment, track_length, brake_features)\n", 549 " fig_add_features(fig, brake_features)\n", 550 " throttle_features = segment.throttle_features()\n", 551 " if throttle_features:\n", 552 " # throttle_features = features_for_fig(segment, track_length, throttle_features)\n", 553 " fig_add_features(fig, throttle_features, color=\"green\")\n", 554 " display(f\"time: {segment.time} {segment.start} -> {segment.end} / track: {segment.track_length}\")\n", 555 " display(f\"brake: {segment.brake_features()}\")\n", 556 " display(f\"throttle: {segment.throttle_features()}\")\n", 557 " display(f\"gear: {segment.gear_features()}\")\n", 558 " fig.show()" 559 ] 560 } 561 ], 562 "metadata": { 563 "kernelspec": { 564 "display_name": "Python 3 (ipykernel)", 565 "language": "python", 566 "name": "python3" 567 }, 568 "language_info": { 569 "codemirror_mode": { 570 "name": "ipython", 571 "version": 3 572 }, 573 "file_extension": ".py", 574 "mimetype": "text/x-python", 575 "name": "python", 576 "nbconvert_exporter": "python", 577 "pygments_lexer": "ipython3", 578 "version": "3.10.13" 579 }, 580 "vscode": { 581 "interpreter": { 582 "hash": "ec0b82c30da6c40ee579e65aee6b1689f5f28a8e3a8da7f828e22b813a9dfaf5" 583 } 584 } 585 }, 586 "nbformat": 4, 587 "nbformat_minor": 2 588 }