diff --git a/A4/CSC_373_EC3.ipynb b/A4/CSC_373_EC3.ipynb
new file mode 100644
index 0000000..816afd5
--- /dev/null
+++ b/A4/CSC_373_EC3.ipynb
@@ -0,0 +1,8941 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "0744d366-ab31-4ed2-8845-e1d26ca90912",
+ "metadata": {
+ "cellView": "form",
+ "id": "0744d366-ab31-4ed2-8845-e1d26ca90912"
+ },
+ "outputs": [],
+ "source": [
+ "# @title Run to load helper functions\n",
+ "from dataclasses import dataclass\n",
+ "import networkx as nx\n",
+ "import plotly.graph_objects as go\n",
+ "import plotly.io as pio\n",
+ "import numpy as np\n",
+ "from scipy.optimize import linprog\n",
+ "import graphviz\n",
+ "pio.templates.default = \"plotly_white\"\n",
+ "\n",
+ "def plot_graph(g):\n",
+ " plot = graphviz.Digraph(engine=\"circo\")\n",
+ " for v in g.nodes:\n",
+ " plot.node(v)\n",
+ " for u, v in g.edges():\n",
+ " label = str(g.edges[(u, v)]['capacity']) if \"capacity\" in g.edges[(u, v)] else \"\"\n",
+ " plot.edge(u, v, label=label)\n",
+ " display(plot)\n",
+ "\n",
+ "def plot_bipartite(g, left, weights=False, matching=None):\n",
+ " fig = go.Figure()\n",
+ " right = [i for i in g.nodes if i not in left]\n",
+ " fig.add_trace(\n",
+ " go.Scatter(\n",
+ " x=[0]*len(left),\n",
+ " y=list(range(len(left))),\n",
+ " text = list(map(str, left)),\n",
+ " textposition=\"middle left\",\n",
+ " mode='markers+text',\n",
+ " marker=dict(color=\"red\")\n",
+ " )\n",
+ " )\n",
+ " fig.add_trace(\n",
+ " go.Scatter(\n",
+ " x=[1]*len(right),\n",
+ " y=list(range(len(right))),\n",
+ " text = list(map(str, right)),\n",
+ " textposition=\"middle right\",\n",
+ " mode='markers+text',\n",
+ " marker=dict(color=\"blue\")\n",
+ " )\n",
+ " )\n",
+ " for u,v,d in g.edges(data=True):\n",
+ " width = (1/3 + d['weight'])*3/4 if weights else 1\n",
+ " text = \"Weight: \" + str(d['weight']) if weights else \"\"\n",
+ " color = \"black\"\n",
+ " if matching is not None and (u, v) in matching:\n",
+ " color=\"pink\"\n",
+ " fig.add_trace(\n",
+ " go.Scatter(\n",
+ " name=f\"{u}, {v}\",\n",
+ " x= np.linspace(0,1,101),\n",
+ " y=np.linspace(left.index(u), right.index(v), 101),\n",
+ " mode='lines',\n",
+ " marker=dict(color=color),\n",
+ " line=dict(width=width),\n",
+ " text= text\n",
+ " )\n",
+ " )\n",
+ " fig.update_layout(showlegend=False, width=700 , height=1000)\n",
+ " fig.update_xaxes(visible=False, range=(-0.1, 1.1))\n",
+ " fig.update_yaxes(visible=False)\n",
+ " return fig\n",
+ "\n",
+ "WORK_TIMES = [\n",
+ " \"Monday AM\"\n",
+ " , \"Tuesday AM\"\n",
+ " , \"Wednesday AM\"\n",
+ " , \"Thursday AM\"\n",
+ " , \"Friday_AM\"\n",
+ " , \"Saturday_AM\"\n",
+ " , \"Sunday_AM\"\n",
+ " , \"Monday_PM\"\n",
+ " , \"Tuesday_PM\"\n",
+ " , \"Wednesday_PM\"\n",
+ " , \"Thursday_PM\"\n",
+ " , \"Friday_PM\"\n",
+ " , \"Saturday_PM\"\n",
+ " , \"Sunday_PM\"\n",
+ "]\n",
+ "\n",
+ "\n",
+ "@dataclass\n",
+ "class Response:\n",
+ " student_id: str\n",
+ " availability: set\n",
+ "\n",
+ "def get_random_responses(n, seed):\n",
+ " seed_n = int.from_bytes(seed.encode('utf-8'), \"little\")\n",
+ " rng = np.random.default_rng(seed=seed_n)\n",
+ " cs_students = []\n",
+ " business_students = []\n",
+ " c = 0\n",
+ " p = [0.1, 0.3, 0.4, 0.2]\n",
+ " for _ in range(n//2):\n",
+ " num_days_available = rng.choice([1, 2, 3, 4], p=p)\n",
+ " times = set(rng.choice(WORK_TIMES, size=num_days_available, replace=False))\n",
+ " cs_students.append(Response(str(c), times))\n",
+ " c+=1\n",
+ " for _ in range(n//2):\n",
+ " num_days_available = rng.choice([1, 2, 3, 4], p=p)\n",
+ " times = set(rng.choice(WORK_TIMES, size=num_days_available, replace=False))\n",
+ " business_students.append(Response(str(c), times))\n",
+ " c+=1\n",
+ " return cs_students, business_students"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a07b9440-111c-41b9-8ef0-9fdacb4966b7",
+ "metadata": {
+ "id": "a07b9440-111c-41b9-8ef0-9fdacb4966b7"
+ },
+ "source": [
+ "# Basics: Graphs, Flow, and LP in Python"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "47d48929-7e37-491c-a3ec-66ac07c6852b",
+ "metadata": {
+ "id": "47d48929-7e37-491c-a3ec-66ac07c6852b"
+ },
+ "source": [
+ "Before we get started with the exercises, let's get acquainted with graphs and LPs in Python, as well as some of the helper functions I've provided for you.\n",
+ "\n",
+ "## Directed graphs + Flow\n",
+ "\n",
+ "Here's how to define a directed graph using the networkx library (imported as nx), this is an example from the flow lecture.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "674a699c-22b5-42cf-859a-8ac38f68389e",
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 293
+ },
+ "id": "674a699c-22b5-42cf-859a-8ac38f68389e",
+ "outputId": "ef511bdc-4144-42fd-c8d8-af5c576d8645"
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ " \n",
+ "\n",
+ "\n",
+ "s \n",
+ "\n",
+ "s \n",
+ " \n",
+ "\n",
+ "\n",
+ "u \n",
+ "\n",
+ "u \n",
+ " \n",
+ "\n",
+ "\n",
+ "s->u \n",
+ " \n",
+ " \n",
+ "20 \n",
+ " \n",
+ "\n",
+ "\n",
+ "v \n",
+ "\n",
+ "v \n",
+ " \n",
+ "\n",
+ "\n",
+ "s->v \n",
+ " \n",
+ " \n",
+ "10 \n",
+ " \n",
+ "\n",
+ "\n",
+ "u->v \n",
+ " \n",
+ " \n",
+ "30 \n",
+ " \n",
+ "\n",
+ "\n",
+ "t \n",
+ "\n",
+ "t \n",
+ " \n",
+ "\n",
+ "\n",
+ "u->t \n",
+ " \n",
+ " \n",
+ "10 \n",
+ " \n",
+ "\n",
+ "\n",
+ "v->t \n",
+ " \n",
+ " \n",
+ "20 \n",
+ " \n",
+ " \n",
+ " \n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "g = nx.DiGraph()\n",
+ "g.add_node(\"s\")\n",
+ "g.add_node(\"u\")\n",
+ "g.add_node(\"v\")\n",
+ "g.add_node(\"t\")\n",
+ "g.add_edge(\"s\", \"u\", capacity=20)\n",
+ "g.add_edge(\"s\", \"v\", capacity=10)\n",
+ "g.add_edge(\"u\", \"v\", capacity=30)\n",
+ "g.add_edge(\"u\", \"t\", capacity=10)\n",
+ "g.add_edge(\"v\", \"t\", capacity=20)\n",
+ "plot_graph(g)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "52e31fec-eae4-4c55-9694-cf8082e897f7",
+ "metadata": {
+ "id": "52e31fec-eae4-4c55-9694-cf8082e897f7"
+ },
+ "source": [
+ "You can solve the network flow problem on the graph by calling `nx.maximum_flow`, you'll receive the flow value as well as some data structure from which you can extract the flow values along each edge!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "66347cb5-2752-4369-aa47-96f29c483688",
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "66347cb5-2752-4369-aa47-96f29c483688",
+ "outputId": "2b49d0a5-0f0b-47a0-dcfc-b68c2b946c7c"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "30\n",
+ "{'s': {'u': 20, 'v': 10}, 'u': {'v': 10, 't': 10}, 'v': {'t': 20}, 't': {}}\n"
+ ]
+ }
+ ],
+ "source": [
+ "flow_value, flow_dict = nx.maximum_flow(g, \"s\", \"t\")\n",
+ "print(flow_value)\n",
+ "print(flow_dict)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "6eb94084-61f8-4c96-8ea7-fed90dde702e",
+ "metadata": {
+ "id": "6eb94084-61f8-4c96-8ea7-fed90dde702e"
+ },
+ "source": [
+ "## Plotting bipartite graphs\n",
+ "\n",
+ "When your graph is bipartite, the `plot_graph` function doesn't always plot it in a way that \"looks bipartite\"."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "12758b83-6e78-4335-9fb3-e7b0f08485f2",
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 902
+ },
+ "id": "12758b83-6e78-4335-9fb3-e7b0f08485f2",
+ "outputId": "bfed8ffd-fd79-4436-87b0-a5620a47ba2b"
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ " \n",
+ "\n",
+ "\n",
+ "Earth \n",
+ "\n",
+ "Earth \n",
+ " \n",
+ "\n",
+ "\n",
+ "Water \n",
+ "\n",
+ "Water \n",
+ " \n",
+ "\n",
+ "\n",
+ "Air \n",
+ "\n",
+ "Air \n",
+ " \n",
+ "\n",
+ "\n",
+ "Fire \n",
+ "\n",
+ "Fire \n",
+ " \n",
+ "\n",
+ "\n",
+ "Aang \n",
+ "\n",
+ "Aang \n",
+ " \n",
+ "\n",
+ "\n",
+ "Aang->Earth \n",
+ " \n",
+ " \n",
+ " \n",
+ "\n",
+ "\n",
+ "Aang->Water \n",
+ " \n",
+ " \n",
+ " \n",
+ "\n",
+ "\n",
+ "Aang->Air \n",
+ " \n",
+ " \n",
+ " \n",
+ "\n",
+ "\n",
+ "Aang->Fire \n",
+ " \n",
+ " \n",
+ " \n",
+ "\n",
+ "\n",
+ "Katara \n",
+ "\n",
+ "Katara \n",
+ " \n",
+ "\n",
+ "\n",
+ "Katara->Water \n",
+ " \n",
+ " \n",
+ " \n",
+ "\n",
+ "\n",
+ "Toph \n",
+ "\n",
+ "Toph \n",
+ " \n",
+ "\n",
+ "\n",
+ "Toph->Earth \n",
+ " \n",
+ " \n",
+ " \n",
+ "\n",
+ "\n",
+ "Zuko \n",
+ "\n",
+ "Zuko \n",
+ " \n",
+ "\n",
+ "\n",
+ "Zuko->Fire \n",
+ " \n",
+ " \n",
+ " \n",
+ "\n",
+ "\n",
+ "Azula \n",
+ "\n",
+ "Azula \n",
+ " \n",
+ "\n",
+ "\n",
+ "Azula->Fire \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "g = nx.DiGraph()\n",
+ "g.add_node(\"Earth\")\n",
+ "g.add_node(\"Water\")\n",
+ "g.add_node(\"Air\")\n",
+ "g.add_node(\"Fire\")\n",
+ "g.add_node(\"Aang\")\n",
+ "g.add_node(\"Katara\")\n",
+ "g.add_node(\"Toph\")\n",
+ "g.add_node(\"Zuko\")\n",
+ "g.add_node(\"Azula\")\n",
+ "g.add_edge(\"Aang\", \"Earth\", weight=1)\n",
+ "g.add_edge(\"Aang\", \"Air\", weight=2)\n",
+ "g.add_edge(\"Aang\", \"Water\", weight=1)\n",
+ "g.add_edge(\"Aang\", \"Fire\", weight=1)\n",
+ "g.add_edge(\"Katara\", \"Water\", weight=2)\n",
+ "g.add_edge(\"Toph\", \"Earth\", weight=3)\n",
+ "g.add_edge(\"Zuko\", \"Fire\", weight=1)\n",
+ "g.add_edge(\"Azula\", \"Fire\", weight=2)\n",
+ "plot_graph(g)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8dff805a-cfe2-4376-8549-ef96a84f1e11",
+ "metadata": {
+ "id": "8dff805a-cfe2-4376-8549-ef96a84f1e11"
+ },
+ "source": [
+ "Instead, you can use the `plot_bipartite(g, left, weights=False, matching=None)` function. Here, `g` is a graph, and `left` is a list of vertices to be plotted on the left.\n",
+ "\n",
+ "Here are several examples showcasing the different parameters."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "18438025-ce74-4abe-9ae7-c0b7cfefad8b",
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ },
+ "id": "18438025-ce74-4abe-9ae7-c0b7cfefad8b",
+ "outputId": "21ab529a-163e-42ed-b400-25f3accad5a0"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ " \n",
+ " "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers+text",
+ "text": [
+ "Aang",
+ "Katara",
+ "Toph",
+ "Zuko",
+ "Azula"
+ ],
+ "textposition": "middle left",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "y": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers+text",
+ "text": [
+ "Earth",
+ "Water",
+ "Air",
+ "Fire"
+ ],
+ "textposition": "middle right",
+ "type": "scatter",
+ "x": [
+ 1,
+ 1,
+ 1,
+ 1
+ ],
+ "y": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Aang, Earth",
+ "text": "",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Aang, Air",
+ "text": "",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0.02,
+ 0.04,
+ 0.06,
+ 0.08,
+ 0.1,
+ 0.12,
+ 0.14,
+ 0.16,
+ 0.18,
+ 0.2,
+ 0.22,
+ 0.24,
+ 0.26,
+ 0.28,
+ 0.3,
+ 0.32,
+ 0.34,
+ 0.36,
+ 0.38,
+ 0.4,
+ 0.42,
+ 0.44,
+ 0.46,
+ 0.48,
+ 0.5,
+ 0.52,
+ 0.54,
+ 0.56,
+ 0.58,
+ 0.6,
+ 0.62,
+ 0.64,
+ 0.66,
+ 0.68,
+ 0.7000000000000001,
+ 0.72,
+ 0.74,
+ 0.76,
+ 0.78,
+ 0.8,
+ 0.8200000000000001,
+ 0.84,
+ 0.86,
+ 0.88,
+ 0.9,
+ 0.92,
+ 0.9400000000000001,
+ 0.96,
+ 0.98,
+ 1,
+ 1.02,
+ 1.04,
+ 1.06,
+ 1.08,
+ 1.1,
+ 1.12,
+ 1.1400000000000001,
+ 1.16,
+ 1.18,
+ 1.2,
+ 1.22,
+ 1.24,
+ 1.26,
+ 1.28,
+ 1.3,
+ 1.32,
+ 1.34,
+ 1.36,
+ 1.3800000000000001,
+ 1.4000000000000001,
+ 1.42,
+ 1.44,
+ 1.46,
+ 1.48,
+ 1.5,
+ 1.52,
+ 1.54,
+ 1.56,
+ 1.58,
+ 1.6,
+ 1.62,
+ 1.6400000000000001,
+ 1.6600000000000001,
+ 1.68,
+ 1.7,
+ 1.72,
+ 1.74,
+ 1.76,
+ 1.78,
+ 1.8,
+ 1.82,
+ 1.84,
+ 1.86,
+ 1.8800000000000001,
+ 1.9000000000000001,
+ 1.92,
+ 1.94,
+ 1.96,
+ 1.98,
+ 2
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Aang, Water",
+ "text": "",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Aang, Fire",
+ "text": "",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0.03,
+ 0.06,
+ 0.09,
+ 0.12,
+ 0.15,
+ 0.18,
+ 0.21,
+ 0.24,
+ 0.27,
+ 0.3,
+ 0.32999999999999996,
+ 0.36,
+ 0.39,
+ 0.42,
+ 0.44999999999999996,
+ 0.48,
+ 0.51,
+ 0.54,
+ 0.57,
+ 0.6,
+ 0.63,
+ 0.6599999999999999,
+ 0.69,
+ 0.72,
+ 0.75,
+ 0.78,
+ 0.8099999999999999,
+ 0.84,
+ 0.87,
+ 0.8999999999999999,
+ 0.9299999999999999,
+ 0.96,
+ 0.99,
+ 1.02,
+ 1.05,
+ 1.08,
+ 1.1099999999999999,
+ 1.14,
+ 1.17,
+ 1.2,
+ 1.23,
+ 1.26,
+ 1.29,
+ 1.3199999999999998,
+ 1.3499999999999999,
+ 1.38,
+ 1.41,
+ 1.44,
+ 1.47,
+ 1.5,
+ 1.53,
+ 1.56,
+ 1.5899999999999999,
+ 1.6199999999999999,
+ 1.65,
+ 1.68,
+ 1.71,
+ 1.74,
+ 1.77,
+ 1.7999999999999998,
+ 1.8299999999999998,
+ 1.8599999999999999,
+ 1.89,
+ 1.92,
+ 1.95,
+ 1.98,
+ 2.01,
+ 2.04,
+ 2.07,
+ 2.1,
+ 2.13,
+ 2.16,
+ 2.19,
+ 2.2199999999999998,
+ 2.25,
+ 2.28,
+ 2.31,
+ 2.34,
+ 2.37,
+ 2.4,
+ 2.4299999999999997,
+ 2.46,
+ 2.4899999999999998,
+ 2.52,
+ 2.55,
+ 2.58,
+ 2.61,
+ 2.6399999999999997,
+ 2.67,
+ 2.6999999999999997,
+ 2.73,
+ 2.76,
+ 2.79,
+ 2.82,
+ 2.85,
+ 2.88,
+ 2.9099999999999997,
+ 2.94,
+ 2.9699999999999998,
+ 3
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Katara, Water",
+ "text": "",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Toph, Earth",
+ "text": "",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 2,
+ 1.98,
+ 1.96,
+ 1.94,
+ 1.92,
+ 1.9,
+ 1.88,
+ 1.8599999999999999,
+ 1.84,
+ 1.82,
+ 1.8,
+ 1.78,
+ 1.76,
+ 1.74,
+ 1.72,
+ 1.7,
+ 1.68,
+ 1.66,
+ 1.6400000000000001,
+ 1.62,
+ 1.6,
+ 1.58,
+ 1.56,
+ 1.54,
+ 1.52,
+ 1.5,
+ 1.48,
+ 1.46,
+ 1.44,
+ 1.42,
+ 1.4,
+ 1.38,
+ 1.3599999999999999,
+ 1.3399999999999999,
+ 1.3199999999999998,
+ 1.2999999999999998,
+ 1.28,
+ 1.26,
+ 1.24,
+ 1.22,
+ 1.2,
+ 1.18,
+ 1.1600000000000001,
+ 1.1400000000000001,
+ 1.12,
+ 1.1,
+ 1.08,
+ 1.06,
+ 1.04,
+ 1.02,
+ 1,
+ 0.98,
+ 0.96,
+ 0.94,
+ 0.9199999999999999,
+ 0.8999999999999999,
+ 0.8799999999999999,
+ 0.8599999999999999,
+ 0.8400000000000001,
+ 0.8200000000000001,
+ 0.8,
+ 0.78,
+ 0.76,
+ 0.74,
+ 0.72,
+ 0.7,
+ 0.6799999999999999,
+ 0.6599999999999999,
+ 0.6399999999999999,
+ 0.6199999999999999,
+ 0.5999999999999999,
+ 0.5800000000000001,
+ 0.56,
+ 0.54,
+ 0.52,
+ 0.5,
+ 0.48,
+ 0.45999999999999996,
+ 0.43999999999999995,
+ 0.41999999999999993,
+ 0.3999999999999999,
+ 0.3799999999999999,
+ 0.3599999999999999,
+ 0.33999999999999986,
+ 0.32000000000000006,
+ 0.30000000000000004,
+ 0.28,
+ 0.26,
+ 0.24,
+ 0.21999999999999997,
+ 0.19999999999999996,
+ 0.17999999999999994,
+ 0.15999999999999992,
+ 0.1399999999999999,
+ 0.11999999999999988,
+ 0.09999999999999987,
+ 0.08000000000000007,
+ 0.06000000000000005,
+ 0.040000000000000036,
+ 0.020000000000000018,
+ 0
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Zuko, Fire",
+ "text": "",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Azula, Fire",
+ "text": "",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 4,
+ 3.99,
+ 3.98,
+ 3.97,
+ 3.96,
+ 3.95,
+ 3.94,
+ 3.93,
+ 3.92,
+ 3.91,
+ 3.9,
+ 3.89,
+ 3.88,
+ 3.87,
+ 3.86,
+ 3.85,
+ 3.84,
+ 3.83,
+ 3.82,
+ 3.81,
+ 3.8,
+ 3.79,
+ 3.78,
+ 3.77,
+ 3.76,
+ 3.75,
+ 3.74,
+ 3.73,
+ 3.7199999999999998,
+ 3.71,
+ 3.7,
+ 3.69,
+ 3.68,
+ 3.67,
+ 3.66,
+ 3.65,
+ 3.64,
+ 3.63,
+ 3.62,
+ 3.61,
+ 3.6,
+ 3.59,
+ 3.58,
+ 3.57,
+ 3.56,
+ 3.55,
+ 3.54,
+ 3.53,
+ 3.52,
+ 3.51,
+ 3.5,
+ 3.49,
+ 3.48,
+ 3.4699999999999998,
+ 3.46,
+ 3.45,
+ 3.44,
+ 3.4299999999999997,
+ 3.42,
+ 3.41,
+ 3.4,
+ 3.39,
+ 3.38,
+ 3.37,
+ 3.36,
+ 3.35,
+ 3.34,
+ 3.33,
+ 3.32,
+ 3.31,
+ 3.3,
+ 3.29,
+ 3.2800000000000002,
+ 3.27,
+ 3.26,
+ 3.25,
+ 3.24,
+ 3.23,
+ 3.2199999999999998,
+ 3.21,
+ 3.2,
+ 3.19,
+ 3.1799999999999997,
+ 3.17,
+ 3.16,
+ 3.15,
+ 3.14,
+ 3.13,
+ 3.12,
+ 3.11,
+ 3.1,
+ 3.09,
+ 3.08,
+ 3.07,
+ 3.06,
+ 3.05,
+ 3.04,
+ 3.0300000000000002,
+ 3.02,
+ 3.01,
+ 3
+ ]
+ }
+ ],
+ "layout": {
+ "height": 1000,
+ "showlegend": false,
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "white",
+ "width": 0.5
+ },
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "white",
+ "width": 0.5
+ },
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "autotypenumbers": "strict",
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "white",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "#C8D4E3"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "white",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": ""
+ },
+ "bgcolor": "white",
+ "radialaxis": {
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
+ "gridwidth": 2,
+ "linecolor": "#EBF0F8",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "#EBF0F8"
+ },
+ "yaxis": {
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
+ "gridwidth": 2,
+ "linecolor": "#EBF0F8",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "#EBF0F8"
+ },
+ "zaxis": {
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
+ "gridwidth": 2,
+ "linecolor": "#EBF0F8",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "#EBF0F8"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
+ "ticks": ""
+ },
+ "bgcolor": "white",
+ "caxis": {
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "#EBF0F8",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "#EBF0F8",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "width": 700,
+ "xaxis": {
+ "range": [
+ -0.1,
+ 1.1
+ ],
+ "visible": false
+ },
+ "yaxis": {
+ "visible": false
+ }
+ }
+ },
+ "text/html": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_bipartite(g, [\"Aang\", \"Katara\", \"Toph\", \"Zuko\", \"Azula\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "d3fa3278-067d-44aa-9d9e-6dd80eee318c",
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ },
+ "id": "d3fa3278-067d-44aa-9d9e-6dd80eee318c",
+ "outputId": "95509d86-e5d9-47f8-a0b7-28bcfa2dd100"
+ },
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers+text",
+ "text": [
+ "Aang",
+ "Katara",
+ "Toph",
+ "Zuko",
+ "Azula"
+ ],
+ "textposition": "middle left",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "y": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers+text",
+ "text": [
+ "Earth",
+ "Water",
+ "Air",
+ "Fire"
+ ],
+ "textposition": "middle right",
+ "type": "scatter",
+ "x": [
+ 1,
+ 1,
+ 1,
+ 1
+ ],
+ "y": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Aang, Earth",
+ "text": "Weight: 1",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "line": {
+ "width": 1.75
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Aang, Air",
+ "text": "Weight: 2",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0.02,
+ 0.04,
+ 0.06,
+ 0.08,
+ 0.1,
+ 0.12,
+ 0.14,
+ 0.16,
+ 0.18,
+ 0.2,
+ 0.22,
+ 0.24,
+ 0.26,
+ 0.28,
+ 0.3,
+ 0.32,
+ 0.34,
+ 0.36,
+ 0.38,
+ 0.4,
+ 0.42,
+ 0.44,
+ 0.46,
+ 0.48,
+ 0.5,
+ 0.52,
+ 0.54,
+ 0.56,
+ 0.58,
+ 0.6,
+ 0.62,
+ 0.64,
+ 0.66,
+ 0.68,
+ 0.7000000000000001,
+ 0.72,
+ 0.74,
+ 0.76,
+ 0.78,
+ 0.8,
+ 0.8200000000000001,
+ 0.84,
+ 0.86,
+ 0.88,
+ 0.9,
+ 0.92,
+ 0.9400000000000001,
+ 0.96,
+ 0.98,
+ 1,
+ 1.02,
+ 1.04,
+ 1.06,
+ 1.08,
+ 1.1,
+ 1.12,
+ 1.1400000000000001,
+ 1.16,
+ 1.18,
+ 1.2,
+ 1.22,
+ 1.24,
+ 1.26,
+ 1.28,
+ 1.3,
+ 1.32,
+ 1.34,
+ 1.36,
+ 1.3800000000000001,
+ 1.4000000000000001,
+ 1.42,
+ 1.44,
+ 1.46,
+ 1.48,
+ 1.5,
+ 1.52,
+ 1.54,
+ 1.56,
+ 1.58,
+ 1.6,
+ 1.62,
+ 1.6400000000000001,
+ 1.6600000000000001,
+ 1.68,
+ 1.7,
+ 1.72,
+ 1.74,
+ 1.76,
+ 1.78,
+ 1.8,
+ 1.82,
+ 1.84,
+ 1.86,
+ 1.8800000000000001,
+ 1.9000000000000001,
+ 1.92,
+ 1.94,
+ 1.96,
+ 1.98,
+ 2
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Aang, Water",
+ "text": "Weight: 1",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Aang, Fire",
+ "text": "Weight: 1",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0.03,
+ 0.06,
+ 0.09,
+ 0.12,
+ 0.15,
+ 0.18,
+ 0.21,
+ 0.24,
+ 0.27,
+ 0.3,
+ 0.32999999999999996,
+ 0.36,
+ 0.39,
+ 0.42,
+ 0.44999999999999996,
+ 0.48,
+ 0.51,
+ 0.54,
+ 0.57,
+ 0.6,
+ 0.63,
+ 0.6599999999999999,
+ 0.69,
+ 0.72,
+ 0.75,
+ 0.78,
+ 0.8099999999999999,
+ 0.84,
+ 0.87,
+ 0.8999999999999999,
+ 0.9299999999999999,
+ 0.96,
+ 0.99,
+ 1.02,
+ 1.05,
+ 1.08,
+ 1.1099999999999999,
+ 1.14,
+ 1.17,
+ 1.2,
+ 1.23,
+ 1.26,
+ 1.29,
+ 1.3199999999999998,
+ 1.3499999999999999,
+ 1.38,
+ 1.41,
+ 1.44,
+ 1.47,
+ 1.5,
+ 1.53,
+ 1.56,
+ 1.5899999999999999,
+ 1.6199999999999999,
+ 1.65,
+ 1.68,
+ 1.71,
+ 1.74,
+ 1.77,
+ 1.7999999999999998,
+ 1.8299999999999998,
+ 1.8599999999999999,
+ 1.89,
+ 1.92,
+ 1.95,
+ 1.98,
+ 2.01,
+ 2.04,
+ 2.07,
+ 2.1,
+ 2.13,
+ 2.16,
+ 2.19,
+ 2.2199999999999998,
+ 2.25,
+ 2.28,
+ 2.31,
+ 2.34,
+ 2.37,
+ 2.4,
+ 2.4299999999999997,
+ 2.46,
+ 2.4899999999999998,
+ 2.52,
+ 2.55,
+ 2.58,
+ 2.61,
+ 2.6399999999999997,
+ 2.67,
+ 2.6999999999999997,
+ 2.73,
+ 2.76,
+ 2.79,
+ 2.82,
+ 2.85,
+ 2.88,
+ 2.9099999999999997,
+ 2.94,
+ 2.9699999999999998,
+ 3
+ ]
+ },
+ {
+ "line": {
+ "width": 1.75
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Katara, Water",
+ "text": "Weight: 2",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1
+ ]
+ },
+ {
+ "line": {
+ "width": 2.5
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Toph, Earth",
+ "text": "Weight: 3",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 2,
+ 1.98,
+ 1.96,
+ 1.94,
+ 1.92,
+ 1.9,
+ 1.88,
+ 1.8599999999999999,
+ 1.84,
+ 1.82,
+ 1.8,
+ 1.78,
+ 1.76,
+ 1.74,
+ 1.72,
+ 1.7,
+ 1.68,
+ 1.66,
+ 1.6400000000000001,
+ 1.62,
+ 1.6,
+ 1.58,
+ 1.56,
+ 1.54,
+ 1.52,
+ 1.5,
+ 1.48,
+ 1.46,
+ 1.44,
+ 1.42,
+ 1.4,
+ 1.38,
+ 1.3599999999999999,
+ 1.3399999999999999,
+ 1.3199999999999998,
+ 1.2999999999999998,
+ 1.28,
+ 1.26,
+ 1.24,
+ 1.22,
+ 1.2,
+ 1.18,
+ 1.1600000000000001,
+ 1.1400000000000001,
+ 1.12,
+ 1.1,
+ 1.08,
+ 1.06,
+ 1.04,
+ 1.02,
+ 1,
+ 0.98,
+ 0.96,
+ 0.94,
+ 0.9199999999999999,
+ 0.8999999999999999,
+ 0.8799999999999999,
+ 0.8599999999999999,
+ 0.8400000000000001,
+ 0.8200000000000001,
+ 0.8,
+ 0.78,
+ 0.76,
+ 0.74,
+ 0.72,
+ 0.7,
+ 0.6799999999999999,
+ 0.6599999999999999,
+ 0.6399999999999999,
+ 0.6199999999999999,
+ 0.5999999999999999,
+ 0.5800000000000001,
+ 0.56,
+ 0.54,
+ 0.52,
+ 0.5,
+ 0.48,
+ 0.45999999999999996,
+ 0.43999999999999995,
+ 0.41999999999999993,
+ 0.3999999999999999,
+ 0.3799999999999999,
+ 0.3599999999999999,
+ 0.33999999999999986,
+ 0.32000000000000006,
+ 0.30000000000000004,
+ 0.28,
+ 0.26,
+ 0.24,
+ 0.21999999999999997,
+ 0.19999999999999996,
+ 0.17999999999999994,
+ 0.15999999999999992,
+ 0.1399999999999999,
+ 0.11999999999999988,
+ 0.09999999999999987,
+ 0.08000000000000007,
+ 0.06000000000000005,
+ 0.040000000000000036,
+ 0.020000000000000018,
+ 0
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Zuko, Fire",
+ "text": "Weight: 1",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3
+ ]
+ },
+ {
+ "line": {
+ "width": 1.75
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Azula, Fire",
+ "text": "Weight: 2",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 4,
+ 3.99,
+ 3.98,
+ 3.97,
+ 3.96,
+ 3.95,
+ 3.94,
+ 3.93,
+ 3.92,
+ 3.91,
+ 3.9,
+ 3.89,
+ 3.88,
+ 3.87,
+ 3.86,
+ 3.85,
+ 3.84,
+ 3.83,
+ 3.82,
+ 3.81,
+ 3.8,
+ 3.79,
+ 3.78,
+ 3.77,
+ 3.76,
+ 3.75,
+ 3.74,
+ 3.73,
+ 3.7199999999999998,
+ 3.71,
+ 3.7,
+ 3.69,
+ 3.68,
+ 3.67,
+ 3.66,
+ 3.65,
+ 3.64,
+ 3.63,
+ 3.62,
+ 3.61,
+ 3.6,
+ 3.59,
+ 3.58,
+ 3.57,
+ 3.56,
+ 3.55,
+ 3.54,
+ 3.53,
+ 3.52,
+ 3.51,
+ 3.5,
+ 3.49,
+ 3.48,
+ 3.4699999999999998,
+ 3.46,
+ 3.45,
+ 3.44,
+ 3.4299999999999997,
+ 3.42,
+ 3.41,
+ 3.4,
+ 3.39,
+ 3.38,
+ 3.37,
+ 3.36,
+ 3.35,
+ 3.34,
+ 3.33,
+ 3.32,
+ 3.31,
+ 3.3,
+ 3.29,
+ 3.2800000000000002,
+ 3.27,
+ 3.26,
+ 3.25,
+ 3.24,
+ 3.23,
+ 3.2199999999999998,
+ 3.21,
+ 3.2,
+ 3.19,
+ 3.1799999999999997,
+ 3.17,
+ 3.16,
+ 3.15,
+ 3.14,
+ 3.13,
+ 3.12,
+ 3.11,
+ 3.1,
+ 3.09,
+ 3.08,
+ 3.07,
+ 3.06,
+ 3.05,
+ 3.04,
+ 3.0300000000000002,
+ 3.02,
+ 3.01,
+ 3
+ ]
+ }
+ ],
+ "layout": {
+ "height": 1000,
+ "showlegend": false,
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "white",
+ "width": 0.5
+ },
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "white",
+ "width": 0.5
+ },
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "autotypenumbers": "strict",
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "white",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "#C8D4E3"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "white",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": ""
+ },
+ "bgcolor": "white",
+ "radialaxis": {
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
+ "gridwidth": 2,
+ "linecolor": "#EBF0F8",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "#EBF0F8"
+ },
+ "yaxis": {
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
+ "gridwidth": 2,
+ "linecolor": "#EBF0F8",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "#EBF0F8"
+ },
+ "zaxis": {
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
+ "gridwidth": 2,
+ "linecolor": "#EBF0F8",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "#EBF0F8"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
+ "ticks": ""
+ },
+ "bgcolor": "white",
+ "caxis": {
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "#EBF0F8",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "#EBF0F8",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "width": 700,
+ "xaxis": {
+ "range": [
+ -0.1,
+ 1.1
+ ],
+ "visible": false
+ },
+ "yaxis": {
+ "visible": false
+ }
+ }
+ },
+ "text/html": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_bipartite(g, [\"Aang\", \"Katara\", \"Toph\", \"Zuko\", \"Azula\"], weights=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "863b410c-928b-49f3-ae71-3c83f408af80",
+ "metadata": {
+ "id": "863b410c-928b-49f3-ae71-3c83f408af80"
+ },
+ "source": [
+ "A matching is represented as a list of edges"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "574b5079-95d5-4936-8a3a-05cab65c7957",
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ },
+ "id": "574b5079-95d5-4936-8a3a-05cab65c7957",
+ "outputId": "514fa234-2d64-4bbd-ffd7-eb1bfa48995e",
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers+text",
+ "text": [
+ "Aang",
+ "Katara",
+ "Toph",
+ "Zuko",
+ "Azula"
+ ],
+ "textposition": "middle left",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "y": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers+text",
+ "text": [
+ "Earth",
+ "Water",
+ "Air",
+ "Fire"
+ ],
+ "textposition": "middle right",
+ "type": "scatter",
+ "x": [
+ 1,
+ 1,
+ 1,
+ 1
+ ],
+ "y": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Aang, Earth",
+ "text": "Weight: 1",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "line": {
+ "width": 1.75
+ },
+ "marker": {
+ "color": "pink"
+ },
+ "mode": "lines",
+ "name": "Aang, Air",
+ "text": "Weight: 2",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0.02,
+ 0.04,
+ 0.06,
+ 0.08,
+ 0.1,
+ 0.12,
+ 0.14,
+ 0.16,
+ 0.18,
+ 0.2,
+ 0.22,
+ 0.24,
+ 0.26,
+ 0.28,
+ 0.3,
+ 0.32,
+ 0.34,
+ 0.36,
+ 0.38,
+ 0.4,
+ 0.42,
+ 0.44,
+ 0.46,
+ 0.48,
+ 0.5,
+ 0.52,
+ 0.54,
+ 0.56,
+ 0.58,
+ 0.6,
+ 0.62,
+ 0.64,
+ 0.66,
+ 0.68,
+ 0.7000000000000001,
+ 0.72,
+ 0.74,
+ 0.76,
+ 0.78,
+ 0.8,
+ 0.8200000000000001,
+ 0.84,
+ 0.86,
+ 0.88,
+ 0.9,
+ 0.92,
+ 0.9400000000000001,
+ 0.96,
+ 0.98,
+ 1,
+ 1.02,
+ 1.04,
+ 1.06,
+ 1.08,
+ 1.1,
+ 1.12,
+ 1.1400000000000001,
+ 1.16,
+ 1.18,
+ 1.2,
+ 1.22,
+ 1.24,
+ 1.26,
+ 1.28,
+ 1.3,
+ 1.32,
+ 1.34,
+ 1.36,
+ 1.3800000000000001,
+ 1.4000000000000001,
+ 1.42,
+ 1.44,
+ 1.46,
+ 1.48,
+ 1.5,
+ 1.52,
+ 1.54,
+ 1.56,
+ 1.58,
+ 1.6,
+ 1.62,
+ 1.6400000000000001,
+ 1.6600000000000001,
+ 1.68,
+ 1.7,
+ 1.72,
+ 1.74,
+ 1.76,
+ 1.78,
+ 1.8,
+ 1.82,
+ 1.84,
+ 1.86,
+ 1.8800000000000001,
+ 1.9000000000000001,
+ 1.92,
+ 1.94,
+ 1.96,
+ 1.98,
+ 2
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Aang, Water",
+ "text": "Weight: 1",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Aang, Fire",
+ "text": "Weight: 1",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 0,
+ 0.03,
+ 0.06,
+ 0.09,
+ 0.12,
+ 0.15,
+ 0.18,
+ 0.21,
+ 0.24,
+ 0.27,
+ 0.3,
+ 0.32999999999999996,
+ 0.36,
+ 0.39,
+ 0.42,
+ 0.44999999999999996,
+ 0.48,
+ 0.51,
+ 0.54,
+ 0.57,
+ 0.6,
+ 0.63,
+ 0.6599999999999999,
+ 0.69,
+ 0.72,
+ 0.75,
+ 0.78,
+ 0.8099999999999999,
+ 0.84,
+ 0.87,
+ 0.8999999999999999,
+ 0.9299999999999999,
+ 0.96,
+ 0.99,
+ 1.02,
+ 1.05,
+ 1.08,
+ 1.1099999999999999,
+ 1.14,
+ 1.17,
+ 1.2,
+ 1.23,
+ 1.26,
+ 1.29,
+ 1.3199999999999998,
+ 1.3499999999999999,
+ 1.38,
+ 1.41,
+ 1.44,
+ 1.47,
+ 1.5,
+ 1.53,
+ 1.56,
+ 1.5899999999999999,
+ 1.6199999999999999,
+ 1.65,
+ 1.68,
+ 1.71,
+ 1.74,
+ 1.77,
+ 1.7999999999999998,
+ 1.8299999999999998,
+ 1.8599999999999999,
+ 1.89,
+ 1.92,
+ 1.95,
+ 1.98,
+ 2.01,
+ 2.04,
+ 2.07,
+ 2.1,
+ 2.13,
+ 2.16,
+ 2.19,
+ 2.2199999999999998,
+ 2.25,
+ 2.28,
+ 2.31,
+ 2.34,
+ 2.37,
+ 2.4,
+ 2.4299999999999997,
+ 2.46,
+ 2.4899999999999998,
+ 2.52,
+ 2.55,
+ 2.58,
+ 2.61,
+ 2.6399999999999997,
+ 2.67,
+ 2.6999999999999997,
+ 2.73,
+ 2.76,
+ 2.79,
+ 2.82,
+ 2.85,
+ 2.88,
+ 2.9099999999999997,
+ 2.94,
+ 2.9699999999999998,
+ 3
+ ]
+ },
+ {
+ "line": {
+ "width": 1.75
+ },
+ "marker": {
+ "color": "pink"
+ },
+ "mode": "lines",
+ "name": "Katara, Water",
+ "text": "Weight: 2",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1
+ ]
+ },
+ {
+ "line": {
+ "width": 2.5
+ },
+ "marker": {
+ "color": "pink"
+ },
+ "mode": "lines",
+ "name": "Toph, Earth",
+ "text": "Weight: 3",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 2,
+ 1.98,
+ 1.96,
+ 1.94,
+ 1.92,
+ 1.9,
+ 1.88,
+ 1.8599999999999999,
+ 1.84,
+ 1.82,
+ 1.8,
+ 1.78,
+ 1.76,
+ 1.74,
+ 1.72,
+ 1.7,
+ 1.68,
+ 1.66,
+ 1.6400000000000001,
+ 1.62,
+ 1.6,
+ 1.58,
+ 1.56,
+ 1.54,
+ 1.52,
+ 1.5,
+ 1.48,
+ 1.46,
+ 1.44,
+ 1.42,
+ 1.4,
+ 1.38,
+ 1.3599999999999999,
+ 1.3399999999999999,
+ 1.3199999999999998,
+ 1.2999999999999998,
+ 1.28,
+ 1.26,
+ 1.24,
+ 1.22,
+ 1.2,
+ 1.18,
+ 1.1600000000000001,
+ 1.1400000000000001,
+ 1.12,
+ 1.1,
+ 1.08,
+ 1.06,
+ 1.04,
+ 1.02,
+ 1,
+ 0.98,
+ 0.96,
+ 0.94,
+ 0.9199999999999999,
+ 0.8999999999999999,
+ 0.8799999999999999,
+ 0.8599999999999999,
+ 0.8400000000000001,
+ 0.8200000000000001,
+ 0.8,
+ 0.78,
+ 0.76,
+ 0.74,
+ 0.72,
+ 0.7,
+ 0.6799999999999999,
+ 0.6599999999999999,
+ 0.6399999999999999,
+ 0.6199999999999999,
+ 0.5999999999999999,
+ 0.5800000000000001,
+ 0.56,
+ 0.54,
+ 0.52,
+ 0.5,
+ 0.48,
+ 0.45999999999999996,
+ 0.43999999999999995,
+ 0.41999999999999993,
+ 0.3999999999999999,
+ 0.3799999999999999,
+ 0.3599999999999999,
+ 0.33999999999999986,
+ 0.32000000000000006,
+ 0.30000000000000004,
+ 0.28,
+ 0.26,
+ 0.24,
+ 0.21999999999999997,
+ 0.19999999999999996,
+ 0.17999999999999994,
+ 0.15999999999999992,
+ 0.1399999999999999,
+ 0.11999999999999988,
+ 0.09999999999999987,
+ 0.08000000000000007,
+ 0.06000000000000005,
+ 0.040000000000000036,
+ 0.020000000000000018,
+ 0
+ ]
+ },
+ {
+ "line": {
+ "width": 1
+ },
+ "marker": {
+ "color": "pink"
+ },
+ "mode": "lines",
+ "name": "Zuko, Fire",
+ "text": "Weight: 1",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3
+ ]
+ },
+ {
+ "line": {
+ "width": 1.75
+ },
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "Azula, Fire",
+ "text": "Weight: 2",
+ "type": "scatter",
+ "x": [
+ 0,
+ 0.01,
+ 0.02,
+ 0.03,
+ 0.04,
+ 0.05,
+ 0.06,
+ 0.07,
+ 0.08,
+ 0.09,
+ 0.1,
+ 0.11,
+ 0.12,
+ 0.13,
+ 0.14,
+ 0.15,
+ 0.16,
+ 0.17,
+ 0.18,
+ 0.19,
+ 0.2,
+ 0.21,
+ 0.22,
+ 0.23,
+ 0.24,
+ 0.25,
+ 0.26,
+ 0.27,
+ 0.28,
+ 0.29,
+ 0.3,
+ 0.31,
+ 0.32,
+ 0.33,
+ 0.34,
+ 0.35000000000000003,
+ 0.36,
+ 0.37,
+ 0.38,
+ 0.39,
+ 0.4,
+ 0.41000000000000003,
+ 0.42,
+ 0.43,
+ 0.44,
+ 0.45,
+ 0.46,
+ 0.47000000000000003,
+ 0.48,
+ 0.49,
+ 0.5,
+ 0.51,
+ 0.52,
+ 0.53,
+ 0.54,
+ 0.55,
+ 0.56,
+ 0.5700000000000001,
+ 0.58,
+ 0.59,
+ 0.6,
+ 0.61,
+ 0.62,
+ 0.63,
+ 0.64,
+ 0.65,
+ 0.66,
+ 0.67,
+ 0.68,
+ 0.6900000000000001,
+ 0.7000000000000001,
+ 0.71,
+ 0.72,
+ 0.73,
+ 0.74,
+ 0.75,
+ 0.76,
+ 0.77,
+ 0.78,
+ 0.79,
+ 0.8,
+ 0.81,
+ 0.8200000000000001,
+ 0.8300000000000001,
+ 0.84,
+ 0.85,
+ 0.86,
+ 0.87,
+ 0.88,
+ 0.89,
+ 0.9,
+ 0.91,
+ 0.92,
+ 0.93,
+ 0.9400000000000001,
+ 0.9500000000000001,
+ 0.96,
+ 0.97,
+ 0.98,
+ 0.99,
+ 1
+ ],
+ "y": [
+ 4,
+ 3.99,
+ 3.98,
+ 3.97,
+ 3.96,
+ 3.95,
+ 3.94,
+ 3.93,
+ 3.92,
+ 3.91,
+ 3.9,
+ 3.89,
+ 3.88,
+ 3.87,
+ 3.86,
+ 3.85,
+ 3.84,
+ 3.83,
+ 3.82,
+ 3.81,
+ 3.8,
+ 3.79,
+ 3.78,
+ 3.77,
+ 3.76,
+ 3.75,
+ 3.74,
+ 3.73,
+ 3.7199999999999998,
+ 3.71,
+ 3.7,
+ 3.69,
+ 3.68,
+ 3.67,
+ 3.66,
+ 3.65,
+ 3.64,
+ 3.63,
+ 3.62,
+ 3.61,
+ 3.6,
+ 3.59,
+ 3.58,
+ 3.57,
+ 3.56,
+ 3.55,
+ 3.54,
+ 3.53,
+ 3.52,
+ 3.51,
+ 3.5,
+ 3.49,
+ 3.48,
+ 3.4699999999999998,
+ 3.46,
+ 3.45,
+ 3.44,
+ 3.4299999999999997,
+ 3.42,
+ 3.41,
+ 3.4,
+ 3.39,
+ 3.38,
+ 3.37,
+ 3.36,
+ 3.35,
+ 3.34,
+ 3.33,
+ 3.32,
+ 3.31,
+ 3.3,
+ 3.29,
+ 3.2800000000000002,
+ 3.27,
+ 3.26,
+ 3.25,
+ 3.24,
+ 3.23,
+ 3.2199999999999998,
+ 3.21,
+ 3.2,
+ 3.19,
+ 3.1799999999999997,
+ 3.17,
+ 3.16,
+ 3.15,
+ 3.14,
+ 3.13,
+ 3.12,
+ 3.11,
+ 3.1,
+ 3.09,
+ 3.08,
+ 3.07,
+ 3.06,
+ 3.05,
+ 3.04,
+ 3.0300000000000002,
+ 3.02,
+ 3.01,
+ 3
+ ]
+ }
+ ],
+ "layout": {
+ "height": 1000,
+ "showlegend": false,
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "white",
+ "width": 0.5
+ },
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "white",
+ "width": 0.5
+ },
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "autotypenumbers": "strict",
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "white",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "#C8D4E3"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "white",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": ""
+ },
+ "bgcolor": "white",
+ "radialaxis": {
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
+ "gridwidth": 2,
+ "linecolor": "#EBF0F8",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "#EBF0F8"
+ },
+ "yaxis": {
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
+ "gridwidth": 2,
+ "linecolor": "#EBF0F8",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "#EBF0F8"
+ },
+ "zaxis": {
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
+ "gridwidth": 2,
+ "linecolor": "#EBF0F8",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "#EBF0F8"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
+ "ticks": ""
+ },
+ "bgcolor": "white",
+ "caxis": {
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "#EBF0F8",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "#EBF0F8",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "width": 700,
+ "xaxis": {
+ "range": [
+ -0.1,
+ 1.1
+ ],
+ "visible": false
+ },
+ "yaxis": {
+ "visible": false
+ }
+ }
+ },
+ "text/html": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "matching = [(\"Aang\", \"Air\"), (\"Katara\", \"Water\"), (\"Zuko\", \"Fire\"), (\"Toph\", \"Earth\") ]\n",
+ "plot_bipartite(g, [\"Aang\", \"Katara\", \"Toph\", \"Zuko\", \"Azula\"], weights=True, matching=matching)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c0138b47-0bfe-4016-911b-f5e18c4393c3",
+ "metadata": {
+ "id": "c0138b47-0bfe-4016-911b-f5e18c4393c3"
+ },
+ "source": [
+ "## Linear Programs\n",
+ "\n",
+ "For linear programs, we'll use the popular scientific computing library scipy. The documentation can be found [here](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.linprog.html)\n",
+ "\n",
+ "Here's an example from the lecture...\n",
+ "\n",
+ "Note that `linprog` minimizes by default so you need to negate your objective function if you want to maximize."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "efc93e0c-e9ce-442f-9bcd-b952f600cc31",
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "efc93e0c-e9ce-442f-9bcd-b952f600cc31",
+ "outputId": "15ee8f33-7fd8-461c-9c89-e42d0920f03a"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ " message: Optimization terminated successfully. (HiGHS Status 7: Optimal)\n",
+ " success: True\n",
+ " status: 0\n",
+ " fun: -28.0\n",
+ " x: [ 8.000e+00 4.000e+00 0.000e+00]\n",
+ " nit: 2\n",
+ " lower: residual: [ 8.000e+00 4.000e+00 0.000e+00]\n",
+ " marginals: [ 0.000e+00 0.000e+00 1.667e-01]\n",
+ " upper: residual: [ inf inf inf]\n",
+ " marginals: [ 0.000e+00 0.000e+00 0.000e+00]\n",
+ " eqlin: residual: []\n",
+ " marginals: []\n",
+ " ineqlin: residual: [ 1.800e+01 0.000e+00 0.000e+00]\n",
+ " marginals: [-0.000e+00 -1.667e-01 -6.667e-01]\n",
+ " mip_node_count: 0\n",
+ " mip_dual_bound: 0.0\n",
+ " mip_gap: 0.0"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "c = [-3,-1,-2]\n",
+ "A = [\n",
+ " [1, 1, 3],\n",
+ " [2, 2, 5],\n",
+ " [4, 1, 2]\n",
+ " ]\n",
+ "b = [30, 24, 36]\n",
+ "linprog(c, A_ub=A, b_ub=b, bounds=(0,None))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f7b32720-b8c8-427f-9e3d-3eb482ea5d63",
+ "metadata": {
+ "id": "f7b32720-b8c8-427f-9e3d-3eb482ea5d63"
+ },
+ "source": [
+ "# Match Making\n",
+ "\n",
+ "Imagine you are in the following scenario. You are a TA for an interdisciplinary course hosted by the CS and Business departments. As a part of the course, students need to pair up - one from the CS department and one from the Business department to develop an app.\n",
+ "\n",
+ "Since the CS students and Business students don't take that many other classes together, many of them would like some help finding a project partner. To facilitate this, the professor sent out a form asking for the student's home department and availability to work on a project. To simplify the problem a bit, let's suppose that every student is the class is either in the CS department or the Business department but not both. The prof, who hears that you have taken 373, tasks you with matching the students.\n",
+ "\n",
+ "Here is the data from the form responses."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "84ab68a4-8efa-48ba-83e3-26eb8323be7f",
+ "metadata": {
+ "id": "84ab68a4-8efa-48ba-83e3-26eb8323be7f"
+ },
+ "outputs": [],
+ "source": [
+ "cs_students, business_students = get_random_responses(30, seed=\"replace with your groups UTorIDs\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "14557dcf-ec81-4618-9701-427c33268e1e",
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "14557dcf-ec81-4618-9701-427c33268e1e",
+ "outputId": "3cf304a8-f8b8-40fb-9e2d-5a13c8aabd8c"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Response(student_id='0', availability={'Monday_PM', 'Saturday_AM', 'Sunday_PM'})"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "cs_students[0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "_bFZl5lUEvg7",
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 35
+ },
+ "id": "_bFZl5lUEvg7",
+ "outputId": "49a2fdf6-181f-4e3a-b13c-9de080fb07ff"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'0'"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "cs_students[0].student_id"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "dOa40fmkEyjh",
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "dOa40fmkEyjh",
+ "outputId": "fac07c07-94bb-4a29-bec1-218ddbe92741"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'Monday_PM', 'Saturday_AM', 'Sunday_PM'}"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "cs_students[0].availability"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "16096390-8421-4aaa-b75e-d581e99398eb",
+ "metadata": {
+ "id": "16096390-8421-4aaa-b75e-d581e99398eb"
+ },
+ "source": [
+ "As you can see, a response contains a student ID and a set of timeslots in which they are available.\n",
+ "\n",
+ "A CS student (one from the `cs_students` list) and a Business student can be paired up iff they overlap in their avaialability.\n",
+ "\n",
+ "## Task 1\n",
+ "Model this problem as a network flow problem. Solve the flow problem and extract a matching of the students. To submit, change the seed to a string containing your UTorIDs, run your code, and upload.\n",
+ "1. The block of code that generated the responses (above)\n",
+ "2. A screenshot of the flow dictionary you obtained\n",
+ "3. A screenshot of the graph you obtained along with the matching. I.e., it should be the output of `plot_bipartite` with the matching parameter equal to the matching you found."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "55b2c4b2-7dae-4b9d-a298-d67fa5173826",
+ "metadata": {
+ "id": "55b2c4b2-7dae-4b9d-a298-d67fa5173826"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Response(student_id='0', availability={'Monday_PM', 'Saturday_AM', 'Sunday_PM'})\n",
+ "Response(student_id='1', availability={'Monday_PM', 'Tuesday_PM'})\n",
+ "Response(student_id='2', availability={'Friday_AM', 'Sunday_PM', 'Thursday AM'})\n",
+ "Response(student_id='3', availability={'Friday_AM', 'Sunday_PM', 'Wednesday AM'})\n",
+ "Response(student_id='4', availability={'Monday_PM', 'Tuesday AM', 'Monday AM'})\n",
+ "Response(student_id='5', availability={'Friday_AM', 'Sunday_PM', 'Wednesday AM', 'Thursday AM'})\n",
+ "Response(student_id='6', availability={'Tuesday_PM', 'Sunday_PM', 'Sunday_AM'})\n",
+ "Response(student_id='7', availability={'Thursday_PM', 'Sunday_PM'})\n",
+ "Response(student_id='8', availability={'Monday AM'})\n",
+ "Response(student_id='9', availability={'Friday_PM', 'Sunday_AM', 'Wednesday_PM'})\n",
+ "Response(student_id='10', availability={'Saturday_AM', 'Monday AM'})\n",
+ "Response(student_id='11', availability={'Friday_PM', 'Saturday_PM', 'Wednesday_PM'})\n",
+ "Response(student_id='12', availability={'Friday_AM', 'Tuesday_PM', 'Thursday AM'})\n",
+ "Response(student_id='13', availability={'Tuesday AM', 'Thursday AM', 'Wednesday_PM'})\n",
+ "Response(student_id='14', availability={'Friday_AM', 'Saturday_AM', 'Saturday_PM'})\n"
+ ]
+ }
+ ],
+ "source": [
+ "for cs_student in cs_students:\n",
+ " for "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "6ae561d1",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9efa7d19",
+ "metadata": {},
+ "source": [
+ "## Task 2\n",
+ "Since you want students to put in a good effort on the project, you want to match students with more overlap in their availability. For two students, define their compatibility score as the number of timeslots they overlap. Your new goal is to find a matching of all the students that maximizes the total compatibility score. Model the problem as a Linear Program, solve it, and extract the matching.\n",
+ "\n",
+ "NOTE: If you find that you want to introduce some integrality constraints, try running the linear program without these constraints. It turns out that in the solution to this particular linear program, the integrality constraints are not needed and the optimal solution will in fact be integral anyway...\n",
+ "\n",
+ "To submit, upload\n",
+ "1. A screenshot of the output of `linprog` (it's okay if it is truncated)\n",
+ "2. A screenshot of the graph with this matching, again it should be the output of `plot_bipartite` with the matching parameter equal to the matching that you found, and weights=True.\n",
+ "3. Calculate the total weight of this matching and compare it to the matching obtained in Task 1.\n",
+ "\n",
+ "Another note: Networkx has some functions that find matchings directly (i.e. without reducing to flow). See [here](https://networkx.org/documentation/stable/reference/algorithms/matching.html). You shouldn't use these function for this exercise since one of the main points of this exercise is to have you reduce the matching problem to flow/LP. However, it's good to know that these things exist if you ever need to compute a matching in the future."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "39b97a8f-84a8-4fc1-8eaa-5487423f042e",
+ "metadata": {
+ "id": "39b97a8f-84a8-4fc1-8eaa-5487423f042e"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "10c8e19d-2500-4013-803d-298da3de47ef",
+ "metadata": {
+ "id": "10c8e19d-2500-4013-803d-298da3de47ef"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "4b45b2fe-78d9-4b94-b224-f0061d4cd858",
+ "metadata": {
+ "id": "4b45b2fe-78d9-4b94-b224-f0061d4cd858"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "9fdccb5c-a1c3-404c-ab1e-13d01b8f21e9",
+ "metadata": {
+ "id": "9fdccb5c-a1c3-404c-ab1e-13d01b8f21e9"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "a672ee96-114e-40f5-9096-d5f4a31c6856",
+ "metadata": {
+ "id": "a672ee96-114e-40f5-9096-d5f4a31c6856"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "76f266c6-888d-4670-ac94-71d84de22b2f",
+ "metadata": {
+ "id": "76f266c6-888d-4670-ac94-71d84de22b2f"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "59282147-3662-4278-ab19-fe69d691a02c",
+ "metadata": {
+ "id": "59282147-3662-4278-ab19-fe69d691a02c"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "7af3c8c5-e0c3-4127-a99f-8f467c12cb39",
+ "metadata": {
+ "id": "7af3c8c5-e0c3-4127-a99f-8f467c12cb39"
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.12.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/A4/task1.png b/A4/task1.png
new file mode 100644
index 0000000..9d6c65d
Binary files /dev/null and b/A4/task1.png differ