<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>Lawrence Agyepong</title>
<link>https://agyeponglawrence.com/</link>
<atom:link href="https://agyeponglawrence.com/index.xml" rel="self" type="application/rss+xml"/>
<description>Hi, welcome to my playground. Pull up a chair, let&#39;s explore some questions and dig into some data.</description>
<generator>quarto-1.10.19</generator>
<lastBuildDate>Sun, 18 Oct 2026 00:00:00 GMT</lastBuildDate>
<item>
  <title>What the Gini coefficient measures: a playground</title>
  <link>https://agyeponglawrence.com/shelf/2026-10-gini-playground/</link>
  <description><![CDATA[ 





<p>The quickest way to get a feel for the Gini coefficient is to build a small economy and stretch it.</p>
<section id="build-a-toy-economy" class="level2">
<h2 class="anchored" data-anchor-id="build-a-toy-economy">Build a toy economy</h2>
<ul>
<li>10,000 simulated incomes from a log-normal distribution.</li>
<li>One dial, the <em>spread</em>, sets how unequal the economy is.</li>
</ul>
<p>Most people sit in the middle and a long tail earns a lot more. Turn the spread up and the tail gets longer.</p>
<div id="422969f0" class="cell" data-quarto-private-1="{&quot;key&quot;:&quot;execution&quot;,&quot;value&quot;:{&quot;iopub.execute_input&quot;:&quot;2026-10-18T18:23:52.940480Z&quot;,&quot;iopub.status.busy&quot;:&quot;2026-10-18T18:23:52.940138Z&quot;,&quot;iopub.status.idle&quot;:&quot;2026-10-18T18:23:54.651998Z&quot;,&quot;shell.execute_reply&quot;:&quot;2026-10-18T18:23:54.650600Z&quot;}}" data-execution_count="1">
<details class="code-fold">
<summary>Show code</summary>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> plotly.graph_objects <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> go</span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> plotly.io <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pio</span>
<span id="cb1-5"></span>
<span id="cb1-6">pio.renderers.default <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"plotly_mimetype+notebook_connected"</span></span>
<span id="cb1-7">GOLD, SLATE, GREY, INK <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#D99A1E"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#4F6D9A"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#8A8F98"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#4A4D55"</span></span>
<span id="cb1-8"></span>
<span id="cb1-9"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> toy_economy(spread, n<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10_000</span>, seed<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">42</span>):</span>
<span id="cb1-10">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""Log-normal incomes. A bigger spread means a longer tail and more inequality."""</span></span>
<span id="cb1-11">    rng <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.random.default_rng(seed)</span>
<span id="cb1-12">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> rng.lognormal(mean<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">10.8</span>, sigma<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>spread, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>n)</span>
<span id="cb1-13"></span>
<span id="cb1-14"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> lorenz(incomes):</span>
<span id="cb1-15">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""Cumulative share of people (poorest first) against their cumulative share of income."""</span></span>
<span id="cb1-16">    x <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.sort(incomes)</span>
<span id="cb1-17">    people <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.arange(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(x) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(x)</span>
<span id="cb1-18">    income <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.concatenate([[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>], np.cumsum(x) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> x.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>()])</span>
<span id="cb1-19">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> people, income</span>
<span id="cb1-20"></span>
<span id="cb1-21"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> gini(incomes):</span>
<span id="cb1-22">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""One minus twice the area under the Lorenz curve."""</span></span>
<span id="cb1-23">    people, income <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> lorenz(incomes)</span>
<span id="cb1-24">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> np.trapezoid(income, people)</span></code></pre></div></div>
</details>
</div>
</section>
<section id="the-lorenz-curve" class="level2">
<h2 class="anchored" data-anchor-id="the-lorenz-curve">The Lorenz curve</h2>
<ul>
<li>Line everyone up, poorest first, and add up their income as you go.</li>
<li>The shaded gap under the diagonal is what the Gini coefficient measures.</li>
<li>Zero means everyone earns the same; one means one person earns everything.</li>
</ul>
<p>Drag the slider to stretch the economy. Hover the curve to read any point.</p>
<div id="20819f7d" class="cell" data-quarto-private-1="{&quot;key&quot;:&quot;execution&quot;,&quot;value&quot;:{&quot;iopub.execute_input&quot;:&quot;2026-10-18T18:23:54.654792Z&quot;,&quot;iopub.status.busy&quot;:&quot;2026-10-18T18:23:54.654516Z&quot;,&quot;iopub.status.idle&quot;:&quot;2026-10-18T18:23:55.083024Z&quot;,&quot;shell.execute_reply&quot;:&quot;2026-10-18T18:23:55.081546Z&quot;}}" data-execution_count="2">
<details class="code-fold">
<summary>Show code</summary>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1">spreads <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">round</span>(np.arange(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.2</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.21</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.1</span>), <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb2-2">grid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.linspace(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">101</span>)</span>
<span id="cb2-3"></span>
<span id="cb2-4">fig <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> go.Figure()</span>
<span id="cb2-5">fig.add_trace(go.Scatter(x<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>grid, y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>grid, mode<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lines"</span>, name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Perfect equality"</span>,</span>
<span id="cb2-6">                         line<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>GREY, dash<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dash"</span>, width<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>), hoverinfo<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"skip"</span>))</span>
<span id="cb2-7"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> i, s <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(spreads):</span>
<span id="cb2-8">    people, income <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> lorenz(toy_economy(s))</span>
<span id="cb2-9">    curve <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.interp(grid, people, income)</span>
<span id="cb2-10">    fig.add_trace(go.Scatter(</span>
<span id="cb2-11">        x<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>grid, y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>curve, mode<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lines"</span>, name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"spread </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>s<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, visible<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.6</span>),</span>
<span id="cb2-12">        line<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>GOLD, width<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>), fill<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"tonexty"</span>, fillcolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"rgba(217,154,30,0.18)"</span>,</span>
<span id="cb2-13">        hovertemplate<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"The poorest %</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{x:.0%}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;"> earn %</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{y:.1%}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;"> of all income&lt;extra&gt;&lt;/extra&gt;"</span>))</span>
<span id="cb2-14"></span>
<span id="cb2-15">steps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb2-16"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> i, s <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(spreads):</span>
<span id="cb2-17">    g <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gini(toy_economy(s))</span>
<span id="cb2-18">    visible <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> [j <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> i <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> j <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(spreads))]</span>
<span id="cb2-19">    steps.append(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(method<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"update"</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>s<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>,</span>
<span id="cb2-20">                      args<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[{<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"visible"</span>: visible}, {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"title.text"</span>: <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Spread </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>s<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">: Gini = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>g<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>}]))</span>
<span id="cb2-21"></span>
<span id="cb2-22">start <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>(np.where(spreads <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.6</span>)[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>])</span>
<span id="cb2-23">fig.update_layout(</span>
<span id="cb2-24">    title<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(text<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>steps[start][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"args"</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"title.text"</span>], x<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, font<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span>)),</span>
<span id="cb2-25">    sliders<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(active<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>start, steps<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>steps, currentvalue<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(prefix<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Spread: "</span>), pad<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(t<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">40</span>))],</span>
<span id="cb2-26">    xaxis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(title<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Share of people, poorest first"</span>, tickformat<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">".0%"</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]),</span>
<span id="cb2-27">    yaxis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(title<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Share of income"</span>, tickformat<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">".0%"</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]),</span>
<span id="cb2-28">    showlegend<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>, template<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"simple_white"</span>, height<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">520</span>, margin<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(l<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">60</span>, r<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>, t<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">60</span>, b<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">40</span>),</span>
<span id="cb2-29">    font<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(family<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"IBM Plex Sans, sans-serif"</span>),</span>
<span id="cb2-30">)</span>
<span id="cb2-31">fig.show()</span></code></pre></div></div>
</details>
<div class="cell-output cell-output-display">
<div style="height:520px; width:100%;">            <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-svg.min.js"></script><script>if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: "STIX-Web"}});}</script>                <script>window.PlotlyConfig = {MathJaxConfig: 'local'};</script>
        <script charset="utf-8" src="https://cdn.plot.ly/plotly-4.1.1.min.js" integrity="sha256-O24V1F27f8pb0glCkelh3cVHLNiHAJ5gCaVtq2aNch8=" crossorigin="anonymous"></script>                <div id="c8f5b051-a766-4d4d-8017-fbc0d397e253" class="plotly-graph-div" style="height:100%; width:100%;"></div>            <script>                window.PLOTLYENV=window.PLOTLYENV || {};                                if (document.getElementById("c8f5b051-a766-4d4d-8017-fbc0d397e253")) {                    Plotly.newPlot(                        "c8f5b051-a766-4d4d-8017-fbc0d397e253",                        [{"hoverinfo":"skip","line":{"color":"#8A8F98","dash":"dash","width":1.5},"mode":"lines","name":"Perfect equality","x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"type":"scatter"},{"fill":"tonexty","fillcolor":"rgba(217,154,30,0.18)","hovertemplate":"The poorest %{x:.0%} earn %{y:.1%} of all income\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"mode":"lines","name":"spread 0.2","visible":false,"x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAADTXuRWkV13P6VKStM5nYg\u002foIf6vuoVkz82G3DPLw6aP7NYcZH1lqA\u002fEM3uSqg4pD+FkJwUkuqnP8gn0pyMq6s\u002fTEVXiHB5rz8SXmCVGqmxPy\u002fvOwDnmrM\u002f+hRpvgmTtT8Rmd76WZC3PwB\u002fjMCOkrk\u002foQxbHlSZuz+HB4MFZqS9PxjRnJ5Ts78\u002f0Lb32ELjwD9DwDd9W+\u002fBPxy+bbTA\u002fcI\u002fUbsfjlAOxD+7Izt7ySDFPzp2k7kuNcY\u002ff7ZOqFZLxz8cx3sKe2PIPwco1g5afck\u002f5MedOu+Yyj9C8yvBbbbLPxZTurK\u002f1cw\u002fQ\u002fvKxq\u002f2zT893tJ8VRnPP2S0XSHgHtA\u002foRQmn9mx0D8tbl6WoEXRPxRgskwz2tE\u002fSmZNMJJv0j\u002ff\u002fxOCxgXTPwOXfrLAnNM\u002fDQw9M4Y01D\u002fq7N9JHM3UP6BEbEtsZtU\u002fBxrAuIAA1j+IOXqRVpvWPwsMWa7MNtc\u002f3DJt3\u002f\u002fS1z8Cncy+G3DYP2pMDRYBDtk\u002fVC32tLCs2T\u002faNn7CBkzaP44eMgAQ7No\u002fEcgVB+eM2z9vtpSqZi7cP5tYYN6r0Nw\u002fqx+eH9Fz3T9cYgu6xxfeP3ZrrxOjvN4\u002fR3vmb3Fi3z8bdHwDkwTgP1eDt8pcWOA\u002f4\u002fV28o6s4D+AosDQJAHhP2WvgSc3VuE\u002f1MP7X8yr4T8wa4Jt2QHiPzSkRx1iWOI\u002fHJj+XFqv4j+Wb71KwQbjP4Hbxb+dXuM\u002feOpbDe224z8buvcguQ\u002fkP6c\u002fJEsfaeQ\u002f9nnNsQLD5D\u002f5xQ1mVh3lP2Dy2pkyeOU\u002fuK3dno7T5T+Wavz6ei\u002fmP1u7+FwbjOY\u002fvLOWGlvp5j+P48F\u002fI0fnPy4\u002f8nqJpec\u002fciPLh7QE6D97lyZglGToPyvS40tExeg\u002f94Sst9cm6T+doW9SQ4npP2QlTzKj7Ok\u002fVPXsX+VQ6j8Od\u002fGvC7bqPzRDuLRLHOs\u002fSAUHM56D6z+xqAZlL+zrP0RYCPFBVuw\u002fdJlJ7LvB7D93PopBpi7tPzqxjJd3ne0\u002fEUdwXnwO7j\u002f\u002fDlr2GYLuP7vDo9RH+e4\u002f5O7rBJ517z\u002f0\u002f\u002f\u002f\u002f\u002f\u002f\u002fvPw=="},"type":"scatter"},{"fill":"tonexty","fillcolor":"rgba(217,154,30,0.18)","hovertemplate":"The poorest %{x:.0%} earn %{y:.1%} of all income\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"mode":"lines","name":"spread 0.3","visible":false,"x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAABEZqH9eGdxP1dTk3Pj0oI\u002fabLCTCqwjT\u002fNBRPT84GUP5VbMyMvXJo\u002fF9HRkEkxoD+51MvLvkijP\u002fmpKB8vc6Y\u002fkw6PaAKuqT8ICjugufasP+zdY3KsJrA\u002fWX\u002fLkSvasT9d5ueAZJSzP\u002frK5aQAVbU\u002fFZ+8aJkbtz8ZVXmi2+e4P7QzFPc3ubo\u002fNwIYfz6QvD\u002fRyKCD7m2+P9GXdHfjKMA\u002frb9cebkdwT8KzjikIxXCPwwVtJwoD8M\u002fbD3sEpILxD87+0jbsArFP7OoRzYtDMY\u002fO1lx2QIQxz8dYFU9ehbIPxKVRyl3H8k\u002fDKfYy7Eqyj\u002f2Or2DTDjLPx80SYheSMw\u002fzzC8opRazT8WrtKYCm\u002fOP2CbDAy9hc8\u002fwvVLYldP0D\u002fT5VC9\u002fdzQP2kgWlm8a9E\u002fkcElsJv70T\u002fU90cBpIzSP9HNYLW1HtM\u002fPKjYeuCx0z+OyiexIEbUP1Rhdk9H29Q\u002fX\u002fbVYX5x1T\u002fTl4OVBQnWP2cqw5mwodY\u002fPKyfXoE71z+8hwRcRNbXP5ybkrcMctg\u002f\u002fuD66gEP2T8m49gv7qzZP8gUFJf8S9o\u002flfm52lTs2j+KjJUj4o3bP9zu0ffBMNw\u002f01NScwrV3D\u002fv92uOqXrdP4ZP6VyVId4\u002fDPRidbnJ3j9CrHmYCHPfPyx+of\u002fmDuA\u002frkvHCg9l4D+S\u002f1lJ7LvgPyLg3P6EE+E\u002fJzymTsdr4T+GtzdQssThP1k4wOhQHuI\u002fzgMFcZ944j+JO\u002fSkrdPiP++vrEGpL+M\u002foDuiZmaM4z+NHrmP0enjP0Wgk8oQSOQ\u002fV7yxKRen5D+MCrsX\u002fwblP8hWC0wBaOU\u002fJeQdQv7J5T\u002fZVGPs0izmP+TJph+hkOY\u002fucGAfKj15j8t3XNI0FvnP2e9x1tFw+c\u002fN1UBaSgs6D8rXwjMaJboPzQQQLM1Auk\u002ffi1SqnNv6T\u002fVzahSJ97pP3Q4srqqTuo\u002fMbOCXfTA6j9cadduUDXrP5jV1QgyrOs\u002fQms52XEl7D9dgfQvI6HsP5Bue8EVIO0\u002f7lDlhNWi7T+yXxa5HSruP\u002fZn7dSzt+4\u002f5ppe5pdO7z\u002fo\u002f\u002f\u002f\u002f\u002f\u002f\u002fvPw=="},"type":"scatter"},{"fill":"tonexty","fillcolor":"rgba(217,154,30,0.18)","hovertemplate":"The poorest %{x:.0%} earn %{y:.1%} of all income\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"mode":"lines","name":"spread 0.4","visible":false,"x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAAB0v2Ji069pP1Vd4pCUh3w\u002ftIOq7jrihj8PeKMxxP6PPwtEj+nNwZQ\u002f+9uuVFa0mT8EMehJbtOeP1pr0gRODqI\u002fGoPclDHFpD807m6nsIunP5c345PmYao\u002fbLlT0bdKrT8UwEWYdCGwP+XJS7zjpLE\u002f7iCTkjsvsz\u002fC0akxI8C0P1adPpb6VrY\u002fTmyH4m\u002f0tz+sbGT4tZm5P7vwI6M9Rrs\u002fF+5CKqr5vD9LgKTgNrO+PyXI9Hp8OcA\u002fP+JB9DkcwT\u002f9DaRQNwLCP3atca8N68I\u002fhv5SHrrWwz9s\u002fdrMlsXEP8dbwfKDt8U\u002frFSFcSysxj+3EZhnvKPHPw2qY2VSnsg\u002fvjuLVIqbyT9pLgBQiJvKPw\u002fSiAJKnss\u002fwhqcz9SjzD8bnesfTazNP1YolP1\u002ft84\u002fzWkhcoTFzz8+W7+BOGvQP1j6XCD89NA\u002f0d4JpSGA0T83mm9WpQzSP67Kpn9MmtI\u002fPicuHE0p0z+3d+\u002f8+LnTP682zckYTNQ\u002fElxH9K\u002ff1D8gjthPfXTVPyxp5CCaCtY\u002f\u002fRqM8Tmi1j+wfWNRGDvXP9YhCJxt1dc\u002fv551OW5x2D\u002fH4pY2AA\u002fZP24hFBVLrtk\u002fBZDi7WxP2j9Ay41vT\u002fLaP5Giw8Xmlts\u002fTTaiLxk93D\u002fp7bUr1uTcP17a7kSCjt0\u002fjK2mAzo63j8eFvvz0+feP4z8DyFil98\u002f+D3VB1sk4D+CtK89533gPyG0B+xk2OA\u002fjKo8w88z4T8\u002f48yuPZDhP7TBT3ft7eE\u002ficLuaKRM4j+QQCOeSKziP+qXE74ODeM\u002fDcy44OVu4z9I\u002fk8q89HjP64RJOmFNuQ\u002fS5GV2nOc5D8KU7xkjQPlPzkGM58CbOU\u002fn7TTvS3W5T9jOsXD7UHmP2ZnH4KDr+Y\u002f0tuQTB8f5z8LOR3Oq5DnPxLGkq1uBOg\u002ffkkFKEN66D9KEoVBMvLoP0ndHB7BbOk\u002fSvwBbeXp6T\u002f8AiWOEmrqPyK4Wjr37eo\u002fIpvbjl916z93zJ+XbgDsP9vP6w5kkOw\u002fa5DXoyAm7T+V5LqX08LtP0fDvPNWae4\u002f0k4o558e7z8WAAAAAADwPw=="},"type":"scatter"},{"fill":"tonexty","fillcolor":"rgba(217,154,30,0.18)","hovertemplate":"The poorest %{x:.0%} earn %{y:.1%} of all income\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"mode":"lines","name":"spread 0.5","visible":false,"x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAABUe6\u002fWScdiP\u002fZDqRAZbHU\u002fFdECc9R6gT+VnH02LbyIPxUh6dn0MpA\u002fWaSsoXg4lD+gD0lMdWuYP4T9uYW+yZw\u002fGzf9+vqmoD+vQywMXfmiP07zg8o5XKU\u002fM1NWwLbSpz8pt4ADg1mqPwi+Q3b076w\u002fyRWzYjKVrz9Q71LDRiSxP4aiRnVdhLI\u002fiRRGU6Drsz8zdYF9ZVu1PyIaogoa07Y\u002fsoEdgGBSuD9wP7V+Z9i5PzS8A1tMZbs\u002f7uGt3or4vD8t3EACBpO+PzWIWQXvGcA\u002fh5vIrYjtwD+yGAENuMTBP2mNbh5cn8I\u002fKWSzUxd9wz\u002f++FcbHl7EP2pbGp6VQsU\u002f4hhNMA4qxj8iIUFCsxTHP1OzfD+EAsg\u002fiaWolInzyD+IUfaA7+fJPzYmpF1938o\u002fT4wxB1Dayz8k+03Ug9jMP8MGKbvA2c0\u002fkpZ+sjjezj\u002fcQNz\u002f5OXPP6v0yNMeeNA\u002fxZwso+H+0D8Lk0N5nIfRP34+STcPEtI\u002fzDt7Fz+e0j\u002fkEX6d3yvTP3tLiLQPu9M\u002foWhMyw1M1D9TiksPid7UPzZiBu\u002fFctU\u002fYW+ujAQJ1j\u002flw1z5JqHWPzQkcjpeO9c\u002frivcRNDX1z8kDB6KY3bYPynjNBULF9k\u002frpofzKi52T8NTGKpKV7aP44kfV8KBds\u002f11RH1G+u2z\u002fcDeCxKFrcP7Gh2PNMCN0\u002fNxlChKS43T9s88BCL2vePyjvtZ4UIN8\u002fLv7WVkvX3z9muZgFhkjgP32Zb1T7puA\u002fQWprubwG4T\u002fptzlWqmfhP9LKNsQHyuE\u002fvP02isAt4j\u002foCNkXBZPiP7180VA8+uI\u002f2qW1qzFj4z\u002fG7hIyqc3jPxjRY07iOeQ\u002fYrZCplOo5D+1mF991BjlP4X807S7i+U\u002fdfXddEsB5j+YWtOmannmP95ZFpp49OY\u002fyTo82Edy5z8B5u6O5\u002fLnP41au1IOd+g\u002fDY1Z97L+6D9xLUpmd4rpP5zkAoNRG+o\u002fCHPksAKx6j+FpCAQxEvrP7q5RRde7es\u002fRpRDZx6X7D\u002fR6rFey0rtPx+a7RymDO4\u002fHEDn8kTk7j8GAAAAAADwPw=="},"type":"scatter"},{"fill":"tonexty","fillcolor":"rgba(217,154,30,0.18)","hovertemplate":"The poorest %{x:.0%} earn %{y:.1%} of all income\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"mode":"lines","name":"spread 0.6","visible":true,"x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAABfID+xujJbP53bFOb4328\u002fvSYn2yJ2ej+l6S6AFfOCP5K7KZlhDok\u002frbbCGiqHjz9hfFntESyTP1ffOUXkvpY\u002fIwOj2xF3mj887xmFgE+ePxT42rdjJKE\u002f23RTK7M0oz9eEv93c1WlP4oAfWMNhqc\u002fVij4\u002f7bFqT8qPCZ0zROsPzOhDw4Mb64\u002fNww4xohssD\u002fKz6gwWaqxP8z1z6Fo8LI\u002frayoN14+tD8WaatfZpO1P+\u002faPBum77Y\u002fAGSOP5hSuD9MZcXAMr25P+mx7JaOLrs\u002fMUHIV6+mvD8fD2IZeSa+P5Wlxx+rrb8\u002fSuOzEMGdwD8uCtUkOmjBPz45vItrNsI\u002ff1Vn7N4Hwz9K18fQxdzDP\u002fi1md4htcQ\u002fpQWguP6QxT8NM7hUj3DGP7Q+TvGXU8c\u002fFu1luDo6yD8zA39YmSTJP87GU8NUEso\u002fOCn9kKYDyz8dAYJ7ifjLP05Xld9n8Mw\u002fbR8+TtPrzT9tA6PGqOvOP8Ap1yVb788\u002f0AE4Y3x70D8jjpqK6wDRPxCbMvYeiNE\u002fw1bAf14R0j8JFxh3T5zSP8ZKu85AKdM\u002fsZRbFX240z9O3QqL40nUPy1Gb\u002fKt3dQ\u002fUUu6tQl01T\u002f6KfQe2wzWP5UI+NsUqNY\u002fPW3bjZVF1z9sge5zSOXXPw2S4IDAh9g\u002fgriE8Cot2T8HXfIIUNXZP197R+9NgNo\u002fzElyYOQt2z+DvlbsFN7bP50DqwgQkdw\u002fG0CWhcxG3T8ZAOXTj\u002f\u002fdP2eDW3obvN4\u002fEOYhmMN73z+GTtvYHh\u002fgP\u002fm\u002fNFkXguA\u002fFYYxzLPm4D\u002fNZzYwME3hP0gqJlgLtuE\u002fJuwoQwch4j8ZrTcy3I3iPydYppPZ\u002fOI\u002fBM19rJNu4z8bKG7R2uLjP8w3AJkdWuQ\u002fqQgI7LHU5D9n97EmfFLlP5qLuBX40+U\u002fF6brlvBY5j8Ic9bnfOHmP+vj7tmKbuc\u002fV7S4vBQA6D\u002fyoUE98pboP33WOeNrNOk\u002fqyChPDvY6T\u002fljCq6toLqPwxcn0VJNus\u002fhigURMj06z\u002fSZpjXuMDsP92ui\u002f0goO0\u002fgVnUFQSe7j\u002f3\u002f\u002f\u002f\u002f\u002f\u002f\u002fvPw=="},"type":"scatter"},{"fill":"tonexty","fillcolor":"rgba(217,154,30,0.18)","hovertemplate":"The poorest %{x:.0%} earn %{y:.1%} of all income\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"mode":"lines","name":"spread 0.7","visible":false,"x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAACSRcq2poJTP7F9HKWDfmc\u002ftK2hYorYcz\u002fg3GVsIsV8P0SqcVy8M4M\u002fasweZFpbiD9HIHnWRtWNP55cveZuz5E\u002fY5GfhaLXlD8Y4aBrmP6XP2spMUwORZs\u002fHRyy63exnj84Bp7M4x6hP74IFLR\u002f9KI\u002fq1iBDdzYpD\u002fAM2mbaMumP\u002fKl52Xzyqg\u002fX70qVCTZqj9QgAYW3fisP4kxDVMUKa8\u002fYZOfbJS0sD\u002f68q3Sv9uxPz06JQQ4CrM\u002fUY2AL3w\u002ftD8arDCqjHy1P1dANQWEwLY\u002fhrGHV2sLuD9C0FP+Ml65P1Xal2qeuLo\u002f\u002f\u002fMVnukZvD+7lu5+lIK9P61RGFn98r4\u002fayRscBk1wD\u002fRmfrJUPTAPwQIcNYot8E\u002f8AFCX7B9wj+aV+68H0jDP062PWA6FsQ\u002fd+5kAyfoxD9072P6C77FP62TMY+Gl8Y\u002f9EKdjtZ0xz93Qbuw+FXIPx0TR4ROOsk\u002fEBOpkHYiyj\u002fc6um6YQ\u002fLPxJcFJZ6AMw\u002fbCF3e9P1zD9J6mNlte7NPwHY851w684\u002fF+yHQ6Tszz+d39pAxnjQPx0wH09s\u002fdA\u002f5KZCr5eE0T+62PP3JQ7SP60SlJxYmtI\u002fMW001GMp0z\u002flIj7SKrvTP2LeOZ2gT9Q\u002flcboraHm1D\u002f1QvNRGIDVP9FyJiurHNY\u002fJUcseY+81j9b9hi+iF\u002fXP5EKTEm7Bdg\u002f7nwiTeCu2D8g8DmC+1rZPzi9bCRGCto\u002fR6Bqw7e82j87tgZBonLbP2VlwvLmLNw\u002fkEnWz8Lq3D9qsMsk4qvdP7YQDoQGcd4\u002fn\u002fzsIfw53z836Gz5qAPgP5p++GQabeA\u002f5rjc+gvZ4D\u002f4T+InK0fhP\u002fGUAKHXt+E\u002fW081rcMr4j+NjjbIuaLiP7DEDlRBHeM\u002fcRvUf8Wb4z8rR2+HKR7kPx+5wgIIpeQ\u002f9Xo2kSUw5T9hr25vo7\u002flP4XCF5erVOY\u002fARstfT7v5j8Xy5tQcJDnP+zFdB\u002fnOeg\u002fmrjLkVjr6D+9hLtWQKXpPw+iS5PFauo\u002fjAynKmI+6z9kgCZphSPsPx5OI7RhIu0\u002ff5XnwlJK7j8VAAAAAADwPw=="},"type":"scatter"},{"fill":"tonexty","fillcolor":"rgba(217,154,30,0.18)","hovertemplate":"The poorest %{x:.0%} earn %{y:.1%} of all income\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"mode":"lines","name":"spread 0.8","visible":false,"x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAABpKg9LqblLPwIvvE3WJ2E\u002f9v7QzYV+bT9yje2ku6N1PyNDar+BKX0\u002fFCSzAyilgj+GP+ytCgCHP4grRsuco4s\u002fgXzn0iFEkD\u002f2P+2U5tKSP3pYcm32fpU\u002fLP239IVOmD976XT+FjybP+nL7wLgRp4\u002fPf60FNe2oD9+nZFJxleiPycoCKQmBaQ\u002fcqk+1JvApT\u002f8vWLM\u002fYynPwJBQIJeaak\u002fxazIyjFVqz90ruYH9U6tP0ENeQkKV68\u002fD+Ol2D+2sD9v\u002fxXjrcixP8hL5F7y4bI\u002fSd\u002fvsRsCtD9fhbVPHyq1P8p\u002fKtjGWbY\u002fIROGuVOQtz88zqDvS864PwT39\u002fwTFLo\u002fK0pner1guz+sgjJcu7S8P8OvztgaEL4\u002fZkVOSf9yvz+14Sud8G7AP+iGdu4kKME\u002ffjXl+kblwT+rPdLcgKbCP0TgCz9va8M\u002f9aTNkVY0xD+wHcXgNQHFP\u002fWkbIZq0cU\u002fACll45ulxj80tG6MyH7HPy+HPCtXXMg\u002f6hRs9l0+yT9BGQKKHiTKPwhNHdXvDcs\u002fCoB7pXz8yz9i8JT+9+7MP1oOhIAe5s0\u002fm5Bp96Tizj9FK3ptReTPP2NPCM\u002fHddA\u002fmD8A5nv80D+WN0cYIobRP5zZrWSuEtI\u002fATRvM\u002fyh0j+8EUih9TPTP+SFOOBRydM\u002ftNwDmU1i1D+Rchw4qf7UP8Hrcv2OntU\u002fOR\u002fTVLNB1j+XOT19HOjWP5Avne0Lktc\u002f29dBlHo\u002f2D8eoSP9xfDYP1UJ+4Tsptk\u002f0PQCoRdh2j\u002fT7kEv7B7bP\u002fF+KnVG4ds\u002fx0bHRe+n3D8pNRGzi3PdP6Yc5Z11Rd4\u002fwdrUaxId3z9kjAnmqfnfPyJ3LMwNbuA\u002f3LYzkAPj4D+yKyExfFvhPznl0EoY2OE\u002f6bCdVVlZ4j9DogIBI9\u002fiP8j6Fk4wauM\u002fvz0AY0H64z831LpZg4\u002fkP93vKQ5gK+U\u002foQj1+eDN5T+WLLWyXHjmP9u8PofgLOc\u002f2TFhHiPr5z8p86m9zbPoP150UoXciuk\u002fzTIGh4tz6j++A4cxYnLrP5zH9TYukuw\u002fWiG1vavn7T8AAAAAAADwPw=="},"type":"scatter"},{"fill":"tonexty","fillcolor":"rgba(217,154,30,0.18)","hovertemplate":"The poorest %{x:.0%} earn %{y:.1%} of all income\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"mode":"lines","name":"spread 0.9","visible":false,"x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAABomeQo74JDP0+C\u002fgPK0Vg\u002fMQKU6qa2ZT\u002faO5FePiBwP788T3On8HU\u002fPO3k9YNIfD937Wwh3ZGBP8ofGjUWQIU\u002fRU2R3JYoiT+lEihwWESNPz4JZQiYypA\u002fWBYaNV4Tkz94CKHkpHeVP++oXcHV9pc\u002fmtNwd\u002fSPmj+\u002fGtd4OUKdPy5vzRjbBaA\u002fnJ6Qy8l3oT+vvqxcpPmiP\u002fibmAKciqQ\u002f1ej8nTsqpj\u002f9vi1SIdenP1zqXDC2kak\u002f9fGx4x5Zqz8VmuipWC+tP\u002fxoxdrFEq8\u002fDmvPWcaBsD+UuUSryoGxP5GVWuhAibI\u002f\u002fk7arnSXsz\u002fludOG7qy0P3u7MoMWyrU\u002fdepJQAfutj8HiFoyNxm4PwbYzju4S7k\u002fbUpVobKFuj+DdwbIo8e7P0ZzgloaEb0\u002f0EUIZnBivj9U4NGw\u002f7u\u002fP2+8osiCjsA\u002fCoM+dQhDwT+IBxdhkvvBP\u002fY+c+R9t8I\u002fGNq5KHd3wz+kZFdLhDzEP3bGwwsMBsU\u002f4ZoOKCjUxT\u002fiEMGsF6bGP7yvuUE2fMc\u002fOOp4gjZXyD9aFB5lRzbJP4l9\u002fqsuGso\u002f4GlBQqsDyz9LZ2IJePLLP6vnpa4u58w\u002f8KORJU3izT8Nna5Cm+POPxjV6vkD688\u002f7JRgBB980D+dKPFSjwXRPwI9pCCXktE\u002fWXovonkj0j+z4LTX9bfSP0dJFn87UNM\u002fPQR+Dvzr0z\u002f3B9yIQIvUPx4Efs5RLtU\u002f8zz3syrV1T\u002f6QSdHM4DWP2b0EEGDMNc\u002fx8V6vDTl1z8G8hYg553YP+i\u002fc5yOW9k\u002fJggxHfId2j8xzhlFy+XaP56EMX2dtNs\u002f0GfVcMOJ3D8UUPgEdWTdPwgM\u002f4GwRd4\u002fGyay2U0v3z8\u002f\u002fh5naRDgPwKC3DrZjeA\u002f1h+Yko4Q4T\u002fpvT83b5jhP2+iaF5XJuI\u002fxTjFvQS64j95Axv+sVPjPzHb\u002fR0L9eM\u002fkP+kjCWe5D84cOjznlDlP+YmzeLzDuY\u002f07ZTr+HY5j8JgzKdR6\u002fnP\u002fy3V0kNl+g\u002fMSDzbk6U6T\u002f+uhyX2azqP\u002fxnma+K7us\u002fRLtHaJ507T\u002fz\u002f\u002f\u002f\u002f\u002f\u002f\u002fvPw=="},"type":"scatter"},{"fill":"tonexty","fillcolor":"rgba(217,154,30,0.18)","hovertemplate":"The poorest %{x:.0%} earn %{y:.1%} of all income\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"mode":"lines","name":"spread 1.0","visible":false,"x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAABxkMBI6jI7PxF\u002fyBrQyFE\u002fs\u002fC3jTGsXz+csmHRk89nPxzGCAV2WnA\u002fA1amrtNAdT8elF8za5h6P9FUhL0pMIA\u002fZIzxCSNHgz9MURl3QYuGP1QECzVm\u002fok\u002feaVloTGrjT\u002fSTDv9osSQP0tPSODpy5I\u002fdpVYrqXqlD+euZFwOiCXP9m7Kaz8apk\u002fs9xl4OXNmz\u002fEnyiwF06eP394HbcadaA\u002fHQVkksHQoT9A5HxBxDijP+HgAriPraQ\u002fRy4Nc2Eupj9JGOfOIr2nPw0gQ0BZWKk\u002fBryUvzIAqz9x6XSFibasP2Emgn0Pe64\u002f7JrdkTsmsD+uiyQJ6BWxPwWQ1TX2DLI\u002fs87Pb44Ksz+gmUrVJw+0P622kFvYGrU\u002f+ccOHcwttj9auoRggki3P6EIU6+Rarg\u002ftSVPPleUuT\u002f5UGFLMMa6P\u002fl1aIBi\u002f7s\u002fEi8qhH9AvT\u002fuFeM3j4m+P+BGXJ9T2b8\u002fKADkc5OYwD\u002fu4a1TjEnBPwk5scP+\u002fsE\u002fBXqzhwe5wj9ZgoR853bDP4VYNQv9OMQ\u002fHoY3v\u002f7\u002fxD9mJ8Y7HMvFP9APOykgm8Y\u002fw0Y5j89wxz+acB\u002fb50vIP+vmK5UJLck\u002fPcO0+LkUyj8zOov3wwLLP9vypz8W98s\u002fa4HAU2nxzD+txNWWlPHNPxyuC+gy+c4\u002fzcizzmoE0D8GxJWB\u002fY\u002fQP44ewyGGH9E\u002fEVaF+bSy0T\u002f1lhPqlUnSPz9b\u002fix45NI\u002fHMWl5liD0z97BU4oqSbUP\u002fYz6J2Vz9Q\u002fveS9gi191T+XDHjUDC\u002fWPyJk1Sw85tY\u002f4ngGCYKi1z+RsnpoqmTYP3L7AmxdLtk\u002fx6Fqdu7+2T\u002f\u002fIDsmidXaP+7+1CRIs9s\u002fhIduPjea3D89UCUz2YndP626ld\u002fQg94\u002f49WQeXuJ3z9nD+gDVk3gP8Nkbo2u3OA\u002fKOfk0YRy4T9N0KRxIg\u002fiPzluORp2tOI\u002fcwg\u002fCqRi4z8+CwcflBvkP2La19834uQ\u002f5OY5klm25T8VewKGFpnmPzDFEdVUkOc\u002fzirVziuh6D\u002feJt8l39LpP\u002fIVaNHLNus\u002fOq9j9d\u002fv7D\u002f7\u002f\u002f\u002f\u002f\u002f\u002f\u002fvPw=="},"type":"scatter"},{"fill":"tonexty","fillcolor":"rgba(217,154,30,0.18)","hovertemplate":"The poorest %{x:.0%} earn %{y:.1%} of all income\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"mode":"lines","name":"spread 1.1","visible":false,"x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAAATBFa8dMYyPzjYJP3vPkk\u002fN+BEBijiVj91Y23FKGphP\u002fpFnjulJmg\u002fAiaF6Mykbz+UDbTRHvFzP9vkyBV+b3g\u002fKRsCjWZFfT\u002f7OzHDnjSBP7VFwNRb74M\u002fD\u002fD1W27chj+YyYvhxvSJP3gc5NPlN40\u002fDnrkm01SkD+j0A4h\u002fxySP+mdp26e+pM\u002fXuD3WOntlT\u002fk8Ifpl\u002fuXP8BctJGMIpo\u002fK1\u002fQATdinD90hJ2EbriePw669CMHk6A\u002fdnKEoOLUoT+h6f1JliOjPy6InPfOfaQ\u002fX\u002fj+VsDjpT9gwV+ZLVenPwzk13vY16g\u002fZe8eLJNkqj9CslQCZv6rP6FEUV4gpq0\u002fYSBPIDVarz\u002fTuPRUx42wP69xcLkvdbE\u002f6rJYdYJjsj\u002f98KPoPVmzP1ai+CECVrQ\u002fnTEoYS1atT9VJcdAHma2P2huYBkmebc\u002fK3dWP9aTuD\u002fx+AURO7a5P+wGXgck37o\u002fiv8nIeYPvD8+BruaiUq9P6XRPx7wjb4\u002fAG3d+Ffavz9kD9MSJ5fAP6XUOY9IRcE\u002f7\u002f4OOkf4wT9H+KGXV6\u002fCP2prJyFFa8M\u002f8JsYCNcsxD\u002f12VipzvPEPwgT3j\u002fQwMU\u002fWn8CvmWUxj9WhbBjXm7HP4DV7hatTsg\u002f2JNtsg01yT9VXv+6WiHKPxECGKw5Fcs\u002fxbD7RUQRzD83j6v4+xTNP6Q3xfbRIM4\u002f7hE13Sc0zz+PDOKLjSfQP98WFSMqudA\u002fRLVTb+lO0T9RQj7AQ+nRP7Mmbbt1idI\u002foK0pWogu0z8EY4M\u002fFtjTP8\u002f6+FU4h9Q\u002fbVoBE7Y71T+LGywLa\u002fbVP86+wCgeudY\u002fcNu1Eh+D1z8Ann4IkVPYP+9vc9OnK9k\u002fqiDOAp0N2j8eksN78\u002fjaPyUEK0p679s\u002fJBZmm7ny3D9U1Jz0jgLeP2+JeM80Id8\u002fn6OMEhUn4D81EREZEcXgP65kzIe+bOE\u002fJI2gBFMe4j\u002fTM1PnAdziP+Rdz6Q0qeM\u002f53TI9siF5D+p6vR6IXPlPx5VCgwxeOY\u002flB3HbyOb5z+vpmd93OToP72QNgGoauo\u002feXFDvV1Y7D\u002fm\u002f\u002f\u002f\u002f\u002f\u002f\u002fvPw=="},"type":"scatter"},{"fill":"tonexty","fillcolor":"rgba(217,154,30,0.18)","hovertemplate":"The poorest %{x:.0%} earn %{y:.1%} of all income\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"mode":"lines","name":"spread 1.2","visible":false,"x":{"dtype":"f8","bdata":"AAAAAAAAAAB7FK5H4XqEP3sUrkfhepQ\u002fuB6F61G4nj97FK5H4XqkP5qZmZmZmak\u002fuB6F61G4rj\u002fsUbgeheuxP3sUrkfherQ\u002fCtejcD0Ktz+amZmZmZm5Pylcj8L1KLw\u002fuB6F61G4vj+kcD0K16PAP+xRuB6F68E\u002fMzMzMzMzwz97FK5H4XrEP8P1KFyPwsU\u002fCtejcD0Kxz9SuB6F61HIP5qZmZmZmck\u002f4XoUrkfhyj8pXI\u002fC9SjMP3E9CtejcM0\u002fuB6F61G4zj8AAAAAAADQP6RwPQrXo9A\u002fSOF6FK5H0T\u002fsUbgehevRP4\u002fC9Shcj9I\u002fMzMzMzMz0z\u002fXo3A9CtfTP3sUrkfhetQ\u002fH4XrUbge1T\u002fD9Shcj8LVP2dmZmZmZtY\u002fCtejcD0K1z+uR+F6FK7XP1K4HoXrUdg\u002f9ihcj8L12D+amZmZmZnZPz4K16NwPdo\u002f4XoUrkfh2j+F61G4HoXbPylcj8L1KNw\u002fzczMzMzM3D9xPQrXo3DdPxWuR+F6FN4\u002fuB6F61G43j9cj8L1KFzfPwAAAAAAAOA\u002fUrgehetR4D+kcD0K16PgP\u002fYoXI\u002fC9eA\u002fSOF6FK5H4T+amZmZmZnhP+xRuB6F6+E\u002fPgrXo3A94j+PwvUoXI\u002fiP+F6FK5H4eI\u002fMzMzMzMz4z+F61G4HoXjP9ejcD0K1+M\u002fKVyPwvUo5D97FK5H4XrkP83MzMzMzOQ\u002fH4XrUbge5T9xPQrXo3DlP8P1KFyPwuU\u002fFa5H4XoU5j9nZmZmZmbmP7gehetRuOY\u002fCtejcD0K5z9cj8L1KFznP65H4XoUruc\u002fAAAAAAAA6D9SuB6F61HoP6RwPQrXo+g\u002f9ihcj8L16D9I4XoUrkfpP5qZmZmZmek\u002f7FG4HoXr6T8+CtejcD3qP5DC9Shcj+o\u002f4XoUrkfh6j8zMzMzMzPrP4XrUbgehes\u002f16NwPQrX6z8pXI\u002fC9SjsP3sUrkfheuw\u002fzczMzMzM7D8fhetRuB7tP3E9CtejcO0\u002fw\u002fUoXI\u002fC7T8VrkfhehTuP2dmZmZmZu4\u002fuB6F61G47j8K16NwPQrvP1yPwvUoXO8\u002frkfhehSu7z8AAAAAAADwPw=="},"y":{"dtype":"f8","bdata":"AAAAAAAAAADQkaJmwKspP3F\u002fVyO0v0E\u002fRfZIUbRgUD\u002fx1gET9jtZP48paSeGqmE\u002fb6g00DBWZz++qNF4eKBtP3m3IxFXRXI\u002fn9HWtigEdj850Z3dAQV6P9xJDNdqS34\u002fzgbLRQ10gT8uRw87seeDP7EvIqZigIY\u002f06d1hkQ9iT8zeH58sh2MP5q1y8FXH48\u002f0vEGnpQjkT\u002fR2w5z1c6SP3rPAzuLkJQ\u002f+DN9xUxolj\u002f1kwKmQFSYP6aMIHc9VZo\u002fyx17jiVqnD\u002fw+FOFS5aePy6u2Kmta6A\u002fscu9vuGWoT\u002fZV6QrZ86iP8siupcOEqQ\u002fbleDLsxgpT+BN\u002fsnnLumP\u002fD6tPZGI6g\u002feAFR42WWqT9wLvPx2hWrP8Kz+FPdoaw\u002f\u002fjfZLM06rj8sMKVyoOGvP8p04h3WyrA\u002fKGPykNWrsT9R512ILJSyP2Aq73E6g7M\u002fy0nxgI15tD\u002f2aCz4NXe1P01eu5wVe7Y\u002fUItbGnaGtz9LPcnxTpu4P\u002f7a7maTuLk\u002fPfAtHIXeuj9\u002f8aOkwgu8P1FptIIIQb0\u002fZnM09b1\u002fvj\u002f68UPqXMa\u002fP3MwIjM7i8A\u002fAzh11Mo4wT8trKayo+vBP7oX4qNqpMI\u002fIEa0tqtjwz939xNUOynEP1ddTNMQ9cQ\u002fhvYEquzGxT\u002fG42U1rZ7GP+IIvNX6fcc\u002ffVtK+nRlyD+Ni32polTJPwvidjT7S8o\u002fbOJ1TeRKyz+1R8SxgFHMPzvWhV6AYM0\u002fv6ckPOh3zj8XIkB2s5jPP50MolG4YtA\u002fNoxIKBf+0D\u002fk80KAEZ7RP9ML0BDMQ9I\u002fSuiYjBDv0j\u002fvBHfexqDTPySgienNWtQ\u002fwFHnGHUc1T+K19NS2+TVPwijVndJtdY\u002fodUfWh+Q1z\u002fuc0UN43TYPwCvwMyKZdk\u002fDpZpccZj2j+nLCGkgG\u002fbP51oC44vi9w\u002flmCTklq23T\u002f61yUH1vHeP6b6niM\u002fIeA\u002fKQ2Z4nLU4D8KpAJLBJXhP\u002fq16JHUZuI\u002fGulkV9tJ4z\u002fzGJuIxj\u002fkPyvLciueUOU\u002fwZ8x1raD5j9UMZgbuuPnP\u002f077AhGiuk\u002fP8MntU+t6z\u002ft\u002f\u002f\u002f\u002f\u002f\u002f\u002fvPw=="},"type":"scatter"}],                        {"template":{"data":{"barpolar":[{"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"bar":[{"error_x":{"color":"rgb(36,36,36)"},"error_y":{"color":"rgb(36,36,36)"},"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"carpet":[{"aaxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"baxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"type":"carpet"}],"choropleth":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"type":"choropleth"}],"contourcarpet":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"type":"contourcarpet"}],"contour":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"contour"}],"heatmap":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"heatmap"}],"histogram2dcontour":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"histogram2dcontour"}],"histogram2d":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"histogram2d"}],"histogram":[{"marker":{"line":{"color":"white","width":0.6}},"type":"histogram"}],"mesh3d":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"type":"mesh3d"}],"parcoords":[{"line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"parcoords"}],"pie":[{"automargin":true,"type":"pie"}],"scatter3d":[{"line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatter3d"}],"scattercarpet":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattercarpet"}],"scattergeo":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattergeo"}],"scattergl":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattergl"}],"scattermap":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattermap"}],"scatterpolargl":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatterpolargl"}],"scatterpolar":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatterpolar"}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"scatterternary":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatterternary"}],"surface":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"surface"}],"table":[{"cells":{"fill":{"color":"rgb(237,237,237)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(217,217,217)"},"line":{"color":"white"}},"type":"table"}]},"layout":{"annotationdefaults":{"arrowhead":0,"arrowwidth":1},"autotypenumbers":"strict","coloraxis":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"colorscale":{"diverging":[[0.0,"rgb(103,0,31)"],[0.1,"rgb(178,24,43)"],[0.2,"rgb(214,96,77)"],[0.3,"rgb(244,165,130)"],[0.4,"rgb(253,219,199)"],[0.5,"rgb(247,247,247)"],[0.6,"rgb(209,229,240)"],[0.7,"rgb(146,197,222)"],[0.8,"rgb(67,147,195)"],[0.9,"rgb(33,102,172)"],[1.0,"rgb(5,48,97)"]],"sequential":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"sequentialminus":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]},"colorway":["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#BCBD22","#17BECF"],"font":{"color":"rgb(36,36,36)"},"geo":{"bgcolor":"white","lakecolor":"white","landcolor":"white","showlakes":true,"showland":true,"subunitcolor":"white"},"hoverlabel":{"align":"left"},"hovermode":"closest","paper_bgcolor":"white","plot_bgcolor":"white","polar":{"angularaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"bgcolor":"white","radialaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"scene":{"xaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","gridwidth":2,"linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zeroline":false,"zerolinecolor":"rgb(36,36,36)"},"yaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","gridwidth":2,"linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zeroline":false,"zerolinecolor":"rgb(36,36,36)"},"zaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","gridwidth":2,"linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zeroline":false,"zerolinecolor":"rgb(36,36,36)"}},"shapedefaults":{"fillcolor":"black","line":{"width":0},"opacity":0.3},"ternary":{"aaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"baxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"bgcolor":"white","caxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"title":{"x":0.05},"xaxis":{"automargin":true,"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zeroline":false,"zerolinecolor":"rgb(36,36,36)"},"yaxis":{"automargin":true,"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zeroline":false,"zerolinecolor":"rgb(36,36,36)"}}},"title":{"font":{"size":16},"text":"Spread 0.6: Gini = 0.33","x":0},"xaxis":{"title":{"text":"Share of people, poorest first"},"tickformat":".0%","range":[0,1]},"yaxis":{"title":{"text":"Share of income"},"tickformat":".0%","range":[0,1]},"margin":{"l":60,"r":20,"t":60,"b":40},"font":{"family":"IBM Plex Sans, sans-serif"},"sliders":[{"active":4,"currentvalue":{"prefix":"Spread: "},"pad":{"t":40},"steps":[{"args":[{"visible":[true,true,false,false,false,false,false,false,false,false,false,false]},{"title.text":"Spread 0.2: Gini = 0.11"}],"label":"0.2","method":"update"},{"args":[{"visible":[true,false,true,false,false,false,false,false,false,false,false,false]},{"title.text":"Spread 0.3: Gini = 0.17"}],"label":"0.3","method":"update"},{"args":[{"visible":[true,false,false,true,false,false,false,false,false,false,false,false]},{"title.text":"Spread 0.4: Gini = 0.22"}],"label":"0.4","method":"update"},{"args":[{"visible":[true,false,false,false,true,false,false,false,false,false,false,false]},{"title.text":"Spread 0.5: Gini = 0.28"}],"label":"0.5","method":"update"},{"args":[{"visible":[true,false,false,false,false,true,false,false,false,false,false,false]},{"title.text":"Spread 0.6: Gini = 0.33"}],"label":"0.6","method":"update"},{"args":[{"visible":[true,false,false,false,false,false,true,false,false,false,false,false]},{"title.text":"Spread 0.7: Gini = 0.38"}],"label":"0.7","method":"update"},{"args":[{"visible":[true,false,false,false,false,false,false,true,false,false,false,false]},{"title.text":"Spread 0.8: Gini = 0.43"}],"label":"0.8","method":"update"},{"args":[{"visible":[true,false,false,false,false,false,false,false,true,false,false,false]},{"title.text":"Spread 0.9: Gini = 0.48"}],"label":"0.9","method":"update"},{"args":[{"visible":[true,false,false,false,false,false,false,false,false,true,false,false]},{"title.text":"Spread 1.0: Gini = 0.52"}],"label":"1.0","method":"update"},{"args":[{"visible":[true,false,false,false,false,false,false,false,false,false,true,false]},{"title.text":"Spread 1.1: Gini = 0.57"}],"label":"1.1","method":"update"},{"args":[{"visible":[true,false,false,false,false,false,false,false,false,false,false,true]},{"title.text":"Spread 1.2: Gini = 0.61"}],"label":"1.2","method":"update"}]}],"showlegend":false,"height":520},                        {"responsive": true}                    ).then(function(){
                            
var gd = document.getElementById('c8f5b051-a766-4d4d-8017-fbc0d397e253');
var x = new MutationObserver(function (mutations, observer) {{
        var display = window.getComputedStyle(gd).display;
        if (!display || display === 'none') {{
            console.log([gd, 'removed!']);
            Plotly.purge(gd);
            observer.disconnect();
        }}
}});

// Listen for the removal of the full notebook cells
var notebookContainer = gd.closest('#notebook-container');
if (notebookContainer) {{
    x.observe(notebookContainer, {childList: true});
}}

// Listen for the clearing of the current output cell
var outputEl = gd.closest('.output');
if (outputEl) {{
    x.observe(outputEl, {childList: true});
}}

                        })                };            </script>        </div>
</div>
</div>
</section>
<section id="one-number-per-economy" class="level2">
<h2 class="anchored" data-anchor-id="one-number-per-economy">One number per economy</h2>
<ul>
<li>More spread, higher Gini, but not in a straight line.</li>
<li>Most rich countries report Gini coefficients for disposable income between about 0.25 and 0.40.</li>
</ul>
<p>The first bit of stretching moves the Gini fast. After that it slows down.</p>
<div id="728be126" class="cell" data-quarto-private-1="{&quot;key&quot;:&quot;execution&quot;,&quot;value&quot;:{&quot;iopub.execute_input&quot;:&quot;2026-10-18T18:23:55.085789Z&quot;,&quot;iopub.status.busy&quot;:&quot;2026-10-18T18:23:55.085529Z&quot;,&quot;iopub.status.idle&quot;:&quot;2026-10-18T18:23:55.227918Z&quot;,&quot;shell.execute_reply&quot;:&quot;2026-10-18T18:23:55.225875Z&quot;}}" data-execution_count="3">
<details class="code-fold">
<summary>Show code</summary>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1">table <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"spread"</span>: spreads, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gini"</span>: [gini(toy_economy(s)) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> s <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> spreads]})</span>
<span id="cb3-2"></span>
<span id="cb3-3">fig2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> go.Figure(go.Scatter(</span>
<span id="cb3-4">    x<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>table[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"spread"</span>], y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>table[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gini"</span>], mode<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lines+markers"</span>,</span>
<span id="cb3-5">    line<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>GOLD, width<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>), marker<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>GOLD),</span>
<span id="cb3-6">    hovertemplate<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Spread %</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{x}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">&lt;br&gt;Gini %</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{y:.2f}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">&lt;extra&gt;&lt;/extra&gt;"</span>))</span>
<span id="cb3-7">fig2.update_layout(</span>
<span id="cb3-8">    xaxis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(title<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Spread of the toy economy"</span>), yaxis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(title<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gini coefficient"</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.65</span>]),</span>
<span id="cb3-9">    template<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"simple_white"</span>, height<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">380</span>, margin<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(l<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">60</span>, r<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>, t<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>, b<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">40</span>),</span>
<span id="cb3-10">    font<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(family<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"IBM Plex Sans, sans-serif"</span>),</span>
<span id="cb3-11">)</span>
<span id="cb3-12">fig2.show()</span></code></pre></div></div>
</details>
<div class="cell-output cell-output-display">
<div style="height:380px; width:100%;">            <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-svg.min.js"></script><script>if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: "STIX-Web"}});}</script>                <script>window.PlotlyConfig = {MathJaxConfig: 'local'};</script>
        <script charset="utf-8" src="https://cdn.plot.ly/plotly-4.1.1.min.js" integrity="sha256-O24V1F27f8pb0glCkelh3cVHLNiHAJ5gCaVtq2aNch8=" crossorigin="anonymous"></script>                <div id="999555c8-9f49-4a2c-ae76-cddbf6b1e881" class="plotly-graph-div" style="height:100%; width:100%;"></div>            <script>                window.PLOTLYENV=window.PLOTLYENV || {};                                if (document.getElementById("999555c8-9f49-4a2c-ae76-cddbf6b1e881")) {                    Plotly.newPlot(                        "999555c8-9f49-4a2c-ae76-cddbf6b1e881",                        [{"hovertemplate":"Spread %{x}\u003cbr\u003eGini %{y:.2f}\u003cextra\u003e\u003c\u002fextra\u003e","line":{"color":"#D99A1E","width":3},"marker":{"color":"#D99A1E","size":8},"mode":"lines+markers","x":{"dtype":"f8","bdata":"mpmZmZmZyT8zMzMzMzPTP5qZmZmZmdk\u002fAAAAAAAA4D8zMzMzMzPjP2ZmZmZmZuY\u002fmpmZmZmZ6T\u002fNzMzMzMzsPwAAAAAAAPA\u002fmpmZmZmZ8T8zMzMzMzPzPw=="},"y":{"dtype":"f8","bdata":"CKDg2dPtvD8EwdrD3pvFPwD\u002fTcRspsw\u002ftufgETHH0T8ykUod+SXVP7IBNyDma9g\u002fJD1MpZiV2z+0o8SdBKDeP\u002fkmD4o9xOA\u002fon4vZVkm4j\u002fgqIa0Z3XjPw=="},"type":"scatter"}],                        {"template":{"data":{"barpolar":[{"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"bar":[{"error_x":{"color":"rgb(36,36,36)"},"error_y":{"color":"rgb(36,36,36)"},"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"carpet":[{"aaxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"baxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"type":"carpet"}],"choropleth":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"type":"choropleth"}],"contourcarpet":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"type":"contourcarpet"}],"contour":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"contour"}],"heatmap":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"heatmap"}],"histogram2dcontour":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"histogram2dcontour"}],"histogram2d":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"histogram2d"}],"histogram":[{"marker":{"line":{"color":"white","width":0.6}},"type":"histogram"}],"mesh3d":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"type":"mesh3d"}],"parcoords":[{"line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"parcoords"}],"pie":[{"automargin":true,"type":"pie"}],"scatter3d":[{"line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatter3d"}],"scattercarpet":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattercarpet"}],"scattergeo":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattergeo"}],"scattergl":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattergl"}],"scattermap":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattermap"}],"scatterpolargl":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatterpolargl"}],"scatterpolar":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatterpolar"}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"scatterternary":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatterternary"}],"surface":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"surface"}],"table":[{"cells":{"fill":{"color":"rgb(237,237,237)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(217,217,217)"},"line":{"color":"white"}},"type":"table"}]},"layout":{"annotationdefaults":{"arrowhead":0,"arrowwidth":1},"autotypenumbers":"strict","coloraxis":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"colorscale":{"diverging":[[0.0,"rgb(103,0,31)"],[0.1,"rgb(178,24,43)"],[0.2,"rgb(214,96,77)"],[0.3,"rgb(244,165,130)"],[0.4,"rgb(253,219,199)"],[0.5,"rgb(247,247,247)"],[0.6,"rgb(209,229,240)"],[0.7,"rgb(146,197,222)"],[0.8,"rgb(67,147,195)"],[0.9,"rgb(33,102,172)"],[1.0,"rgb(5,48,97)"]],"sequential":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"sequentialminus":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]},"colorway":["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#BCBD22","#17BECF"],"font":{"color":"rgb(36,36,36)"},"geo":{"bgcolor":"white","lakecolor":"white","landcolor":"white","showlakes":true,"showland":true,"subunitcolor":"white"},"hoverlabel":{"align":"left"},"hovermode":"closest","paper_bgcolor":"white","plot_bgcolor":"white","polar":{"angularaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"bgcolor":"white","radialaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"scene":{"xaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","gridwidth":2,"linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zeroline":false,"zerolinecolor":"rgb(36,36,36)"},"yaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","gridwidth":2,"linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zeroline":false,"zerolinecolor":"rgb(36,36,36)"},"zaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","gridwidth":2,"linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zeroline":false,"zerolinecolor":"rgb(36,36,36)"}},"shapedefaults":{"fillcolor":"black","line":{"width":0},"opacity":0.3},"ternary":{"aaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"baxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"bgcolor":"white","caxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"title":{"x":0.05},"xaxis":{"automargin":true,"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zeroline":false,"zerolinecolor":"rgb(36,36,36)"},"yaxis":{"automargin":true,"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zeroline":false,"zerolinecolor":"rgb(36,36,36)"}}},"yaxis":{"title":{"text":"Gini coefficient"},"range":[0,0.65]},"margin":{"l":60,"r":20,"t":20,"b":40},"font":{"family":"IBM Plex Sans, sans-serif"},"xaxis":{"title":{"text":"Spread of the toy economy"}},"height":380},                        {"responsive": true}                    ).then(function(){
                            
var gd = document.getElementById('999555c8-9f49-4a2c-ae76-cddbf6b1e881');
var x = new MutationObserver(function (mutations, observer) {{
        var display = window.getComputedStyle(gd).display;
        if (!display || display === 'none') {{
            console.log([gd, 'removed!']);
            Plotly.purge(gd);
            observer.disconnect();
        }}
}});

// Listen for the removal of the full notebook cells
var notebookContainer = gd.closest('#notebook-container');
if (notebookContainer) {{
    x.observe(notebookContainer, {childList: true});
}}

// Listen for the clearing of the current output cell
var outputEl = gd.closest('.output');
if (outputEl) {{
    x.observe(outputEl, {childList: true});
}}

                        })                };            </script>        </div>
</div>
</div>
</section>
<section id="who-gets-what" class="level2">
<h2 class="anchored" data-anchor-id="who-gets-what">Who gets what</h2>
<ul>
<li>In the most stretched toy economy, the richest fifth takes over half of all income.</li>
<li>Two economies can share a Gini and still split income differently.</li>
</ul>
<p>That’s why it pays to look at the pieces, not just the one number.</p>
<div id="d7ec09f0" class="cell" data-quarto-private-1="{&quot;key&quot;:&quot;execution&quot;,&quot;value&quot;:{&quot;iopub.execute_input&quot;:&quot;2026-10-18T18:23:55.231386Z&quot;,&quot;iopub.status.busy&quot;:&quot;2026-10-18T18:23:55.231087Z&quot;,&quot;iopub.status.idle&quot;:&quot;2026-10-18T18:23:55.274852Z&quot;,&quot;shell.execute_reply&quot;:&quot;2026-10-18T18:23:55.273457Z&quot;}}" data-execution_count="4">
<details class="code-fold">
<summary>Show code</summary>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> quintile_shares(incomes):</span>
<span id="cb4-2">    x <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.sort(incomes)</span>
<span id="cb4-3">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> [chunk.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> x.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> chunk <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> np.array_split(x, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)]</span>
<span id="cb4-4"></span>
<span id="cb4-5">labels <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Poorest 20%"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Second"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Middle"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fourth"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Richest 20%"</span>]</span>
<span id="cb4-6">fig3 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> go.Figure()</span>
<span id="cb4-7"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> s, color <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> [(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>, GREY), (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.6</span>, SLATE), (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.0</span>, GOLD)]:</span>
<span id="cb4-8">    fig3.add_trace(go.Bar(x<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>labels, y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>quintile_shares(toy_economy(s)), name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Spread </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>s<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>,</span>
<span id="cb4-9">                          marker_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>color, hovertemplate<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{x}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">: %</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{y:.1%}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;"> of income&lt;extra&gt;&lt;/extra&gt;"</span>))</span>
<span id="cb4-10">fig3.update_layout(barmode<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"group"</span>, yaxis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(title<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Share of income"</span>, tickformat<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">".0%"</span>),</span>
<span id="cb4-11">                   template<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"simple_white"</span>, height<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">400</span>, margin<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(l<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">60</span>, r<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>, t<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>, b<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">40</span>),</span>
<span id="cb4-12">                   legend<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(orientation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"h"</span>, y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.08</span>), font<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(family<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"IBM Plex Sans, sans-serif"</span>))</span>
<span id="cb4-13">fig3.show()</span></code></pre></div></div>
</details>
<div class="cell-output cell-output-display">
<div style="height:400px; width:100%;">            <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-svg.min.js"></script><script>if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: "STIX-Web"}});}</script>                <script>window.PlotlyConfig = {MathJaxConfig: 'local'};</script>
        <script charset="utf-8" src="https://cdn.plot.ly/plotly-4.1.1.min.js" integrity="sha256-O24V1F27f8pb0glCkelh3cVHLNiHAJ5gCaVtq2aNch8=" crossorigin="anonymous"></script>                <div id="05a12ee8-7dc6-42a3-9922-0840b30e5480" class="plotly-graph-div" style="height:100%; width:100%;"></div>            <script>                window.PLOTLYENV=window.PLOTLYENV || {};                                if (document.getElementById("05a12ee8-7dc6-42a3-9922-0840b30e5480")) {                    Plotly.newPlot(                        "05a12ee8-7dc6-42a3-9922-0840b30e5480",                        [{"hovertemplate":"%{x}: %{y:.1%} of income\u003cextra\u003e\u003c\u002fextra\u003e","marker":{"color":"#8A8F98"},"name":"Spread 0.3","x":["Poorest 20%","Second","Middle","Fourth","Richest 20%"],"y":[0.12624781925950268,0.16358620445561137,0.19122825945300184,0.22409267156990262,0.29484504526198135],"type":"bar"},{"hovertemplate":"%{x}: %{y:.1%} of income\u003cextra\u003e\u003c\u002fextra\u003e","marker":{"color":"#4F6D9A"},"name":"Spread 0.6","x":["Poorest 20%","Second","Middle","Fourth","Richest 20%"],"y":[0.07398084593292885,0.12244856711009978,0.16719266922125975,0.2297433851681932,0.4066345325675183],"type":"bar"},{"hovertemplate":"%{x}: %{y:.1%} of income\u003cextra\u003e\u003c\u002fextra\u003e","marker":{"color":"#D99A1E"},"name":"Spread 1.0","x":["Poorest 20%","Second","Middle","Fourth","Richest 20%"],"y":[0.03214343533794386,0.07244318347018706,0.12153067349544865,0.20670020110535223,0.5671825065910683],"type":"bar"}],                        {"template":{"data":{"barpolar":[{"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"bar":[{"error_x":{"color":"rgb(36,36,36)"},"error_y":{"color":"rgb(36,36,36)"},"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"carpet":[{"aaxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"baxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"type":"carpet"}],"choropleth":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"type":"choropleth"}],"contourcarpet":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"type":"contourcarpet"}],"contour":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"contour"}],"heatmap":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"heatmap"}],"histogram2dcontour":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"histogram2dcontour"}],"histogram2d":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"histogram2d"}],"histogram":[{"marker":{"line":{"color":"white","width":0.6}},"type":"histogram"}],"mesh3d":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"type":"mesh3d"}],"parcoords":[{"line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"parcoords"}],"pie":[{"automargin":true,"type":"pie"}],"scatter3d":[{"line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatter3d"}],"scattercarpet":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattercarpet"}],"scattergeo":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattergeo"}],"scattergl":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattergl"}],"scattermap":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scattermap"}],"scatterpolargl":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatterpolargl"}],"scatterpolar":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatterpolar"}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"scatterternary":[{"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"type":"scatterternary"}],"surface":[{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"type":"surface"}],"table":[{"cells":{"fill":{"color":"rgb(237,237,237)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(217,217,217)"},"line":{"color":"white"}},"type":"table"}]},"layout":{"annotationdefaults":{"arrowhead":0,"arrowwidth":1},"autotypenumbers":"strict","coloraxis":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"colorscale":{"diverging":[[0.0,"rgb(103,0,31)"],[0.1,"rgb(178,24,43)"],[0.2,"rgb(214,96,77)"],[0.3,"rgb(244,165,130)"],[0.4,"rgb(253,219,199)"],[0.5,"rgb(247,247,247)"],[0.6,"rgb(209,229,240)"],[0.7,"rgb(146,197,222)"],[0.8,"rgb(67,147,195)"],[0.9,"rgb(33,102,172)"],[1.0,"rgb(5,48,97)"]],"sequential":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"sequentialminus":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]},"colorway":["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#BCBD22","#17BECF"],"font":{"color":"rgb(36,36,36)"},"geo":{"bgcolor":"white","lakecolor":"white","landcolor":"white","showlakes":true,"showland":true,"subunitcolor":"white"},"hoverlabel":{"align":"left"},"hovermode":"closest","paper_bgcolor":"white","plot_bgcolor":"white","polar":{"angularaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"bgcolor":"white","radialaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"scene":{"xaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","gridwidth":2,"linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zeroline":false,"zerolinecolor":"rgb(36,36,36)"},"yaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","gridwidth":2,"linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zeroline":false,"zerolinecolor":"rgb(36,36,36)"},"zaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","gridwidth":2,"linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zeroline":false,"zerolinecolor":"rgb(36,36,36)"}},"shapedefaults":{"fillcolor":"black","line":{"width":0},"opacity":0.3},"ternary":{"aaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"baxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"bgcolor":"white","caxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"title":{"x":0.05},"xaxis":{"automargin":true,"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zeroline":false,"zerolinecolor":"rgb(36,36,36)"},"yaxis":{"automargin":true,"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zeroline":false,"zerolinecolor":"rgb(36,36,36)"}}},"yaxis":{"title":{"text":"Share of income"},"tickformat":".0%"},"margin":{"l":60,"r":20,"t":20,"b":40},"legend":{"orientation":"h","y":1.08},"font":{"family":"IBM Plex Sans, sans-serif"},"barmode":"group","height":400},                        {"responsive": true}                    ).then(function(){
                            
var gd = document.getElementById('05a12ee8-7dc6-42a3-9922-0840b30e5480');
var x = new MutationObserver(function (mutations, observer) {{
        var display = window.getComputedStyle(gd).display;
        if (!display || display === 'none') {{
            console.log([gd, 'removed!']);
            Plotly.purge(gd);
            observer.disconnect();
        }}
}});

// Listen for the removal of the full notebook cells
var notebookContainer = gd.closest('#notebook-container');
if (notebookContainer) {{
    x.observe(notebookContainer, {childList: true});
}}

// Listen for the clearing of the current output cell
var outputEl = gd.closest('.output');
if (outputEl) {{
    x.observe(outputEl, {childList: true});
}}

                        })                };            </script>        </div>
</div>
</div>
</section>
<section id="what-this-doesnt-tell-us" class="level2">
<h2 class="anchored" data-anchor-id="what-this-doesnt-tell-us">What this doesn’t tell us</h2>
<ul>
<li>Real Gini numbers depend on choices this toy skips: income before or after taxes and transfers, household or person, and how you adjust for household size.</li>
<li>Statistical agencies publish all of these versions.</li>
</ul>
<p>So always check which one you’re reading before you compare two countries.</p>
</section>
<section id="questions-i-still-have" class="level2">
<h2 class="anchored" data-anchor-id="questions-i-still-have">Questions I still have</h2>
<ul>
<li>Does a log-normal fit the top of real income data, or does it miss the very rich?</li>
<li>How much do country rankings move once everyone uses the same definition?</li>
</ul>
<p>If you know a good dataset for either, tell me.</p>
</section>
<section id="rebuild-it-in-excel" class="level2">
<h2 class="anchored" data-anchor-id="rebuild-it-in-excel">Rebuild it in Excel</h2>
<ul>
<li><strong>Data:</strong> 20 incomes in blue cells. Type your own over them.</li>
<li><strong>Lorenz:</strong> sorts the incomes and builds the running shares, one column per step.</li>
<li><strong>Gini:</strong> adds up the area under the curve and turns it into a Gini, with a Lorenz chart beside it.</li>
</ul>
<p>With only 20 households the answer won’t match the 10,000-person version, and that’s part of the lesson: small samples are noisy.</p>


</section>

 ]]></description>
  <category>inequality</category>
  <category>python</category>
  <category>excel</category>
  <category>how-to</category>
  <guid>https://agyeponglawrence.com/shelf/2026-10-gini-playground/</guid>
  <pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate>
</item>
<item>
  <title>Remove UK-bound metals and the record low in export concentration disappears</title>
  <link>https://agyeponglawrence.com/</link>
  <description>A stress test of our own headline: one trade flow carries most of the growth in non-US exports.</description>
  <category>trade</category>
  <category>indexes</category>
  <guid>https://agyeponglawrence.com/</guid>
  <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
</item>
<item>
  <title>Export concentration hits a record low, and one market carries the gains</title>
  <link>https://agyeponglawrence.com/</link>
  <description></description>
  <category>trade</category>
  <category>indexes</category>
  <guid>https://agyeponglawrence.com/</guid>
  <pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate>
</item>
<item>
  <title>The most optimistic households are also the most financially strained</title>
  <link>https://agyeponglawrence.com/</link>
  <description>Newcomers expect to miss debt payments at ten times the rate of everyone else, and still expect things to improve.</description>
  <category>household-finances</category>
  <category>surveys</category>
  <guid>https://agyeponglawrence.com/</guid>
  <pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate>
</item>
<item>
  <title>Same shock, different pain</title>
  <link>https://agyeponglawrence.com/</link>
  <description>Why one gasoline price shock pushed inflation up far more in some provinces than others.</description>
  <category>inflation</category>
  <category>regional</category>
  <guid>https://agyeponglawrence.com/</guid>
  <pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate>
</item>
<item>
  <title>Tracking export diversification</title>
  <link>https://agyeponglawrence.com/</link>
  <description></description>
  <category>trade</category>
  <category>dashboards</category>
  <guid>https://agyeponglawrence.com/</guid>
  <pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate>
</item>
<item>
  <title>Export Concentration Intelligence Tool</title>
  <link>https://agyeponglawrence.com/</link>
  <description>How concentrated a country&#39;s exports are, and where the new trade is going.</description>
  <guid>https://agyeponglawrence.com/</guid>
  <pubDate>Sun, 18 Oct 2026 20:06:10 GMT</pubDate>
</item>
</channel>
</rss>
