summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Flamary <remi.flamary@gmail.com>2022-03-18 08:00:19 +0100
committerGitHub <noreply@github.com>2022-03-18 08:00:19 +0100
commit9b9d2221d257f40ea3eb58b279b30d69162d62bb (patch)
tree87fb7201ac92171bf31c5d8b9700544180de455d
parentb47d5045d97ba0c0c98dada34ad643a26c1fb86e (diff)
[MRG] Add logo to POT (#357)
* add logo code and logo to doc * update release file
-rw-r--r--RELEASES.md1
-rw-r--r--docs/source/_static/images/logo.pngbin0 -> 5038 bytes
-rw-r--r--docs/source/_static/images/logo.svg200
-rw-r--r--docs/source/_static/images/logo_dark.pngbin0 -> 3437 bytes
-rw-r--r--docs/source/_static/images/logo_dark.svg187
-rw-r--r--docs/source/conf.py4
-rw-r--r--docs/source/index.rst5
-rw-r--r--examples/others/plot_logo.py112
8 files changed, 508 insertions, 1 deletions
diff --git a/RELEASES.md b/RELEASES.md
index 18562e7..0f1f231 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -5,6 +5,7 @@
#### New features
+- A brand new logo for POT (PR #357)
- Better list of related examples in quick start guide with `minigallery` (PR #334).
- Add optional log-domain Sinkhorn implementation in WDA to support smaller values
of the regularization parameter (PR #336).
diff --git a/docs/source/_static/images/logo.png b/docs/source/_static/images/logo.png
new file mode 100644
index 0000000..7be5df7
--- /dev/null
+++ b/docs/source/_static/images/logo.png
Binary files differ
diff --git a/docs/source/_static/images/logo.svg b/docs/source/_static/images/logo.svg
new file mode 100644
index 0000000..0bf2cb7
--- /dev/null
+++ b/docs/source/_static/images/logo.svg
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Created with matplotlib (https://matplotlib.org/) -->
+<svg height="75.384pt" version="1.1" viewBox="0 0 209.7 75.384" width="209.7pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:date>2022-03-17T17:25:30.736761</dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs>
+ <style type="text/css">*{stroke-linecap:butt;stroke-linejoin:round;}</style>
+ </defs>
+ <g id="figure_1">
+ <g id="patch_1">
+ <path d="M 0 75.384
+L 209.7 75.384
+L 209.7 0
+L 0 0
+z
+" style="fill:#ffffff;"/>
+ </g>
+ <g id="axes_1">
+ <g id="line2d_1">
+ <path clip-path="url(#pafc522611b)" d="M 16.077273 11.885975
+L 47.044503 11.885975
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_2">
+ <path clip-path="url(#pafc522611b)" d="M 16.077273 22.208385
+L 57.366913 22.208385
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_3">
+ <path clip-path="url(#pafc522611b)" d="M 16.077273 32.530795
+L 57.366913 32.530795
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_4">
+ <path clip-path="url(#pafc522611b)" d="M 16.077273 42.853205
+L 47.044503 42.853205
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_5">
+ <path clip-path="url(#pafc522611b)" d="M 16.077273 53.175615
+L 26.399683 53.175615
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_6">
+ <path clip-path="url(#pafc522611b)" d="M 16.077273 63.498025
+L 26.399683 63.498025
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_7">
+ <path clip-path="url(#pafc522611b)" d="M 95.353383 11.885975
+L 107.740275 11.885975
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_8">
+ <path clip-path="url(#pafc522611b)" d="M 82.96649 22.208385
+L 120.127167 22.208385
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_9">
+ <path clip-path="url(#pafc522611b)" d="M 76.773044 32.530795
+L 126.320613 32.530795
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_10">
+ <path clip-path="url(#pafc522611b)" d="M 76.773044 42.853205
+L 126.320613 42.853205
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_11">
+ <path clip-path="url(#pafc522611b)" d="M 82.96649 53.175615
+L 120.127167 53.175615
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_12">
+ <path clip-path="url(#pafc522611b)" d="M 95.353383 63.498025
+L 107.740275 63.498025
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_13">
+ <path clip-path="url(#pafc522611b)" d="M 142.010677 11.885975
+L 193.622727 11.885975
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_14">
+ <path clip-path="url(#pafc522611b)" d="M 142.010677 22.208385
+L 193.622727 22.208385
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_15">
+ <path clip-path="url(#pafc522611b)" d="M 162.655497 32.530795
+L 172.977907 32.530795
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_16">
+ <path clip-path="url(#pafc522611b)" d="M 162.655497 42.853205
+L 172.977907 42.853205
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_17">
+ <path clip-path="url(#pafc522611b)" d="M 162.655497 53.175615
+L 172.977907 53.175615
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_18">
+ <path clip-path="url(#pafc522611b)" d="M 162.655497 63.498025
+L 172.977907 63.498025
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-opacity:0.6;stroke-width:3;"/>
+ </g>
+ <g id="line2d_19">
+ <defs>
+ <path d="M 0 3
+C 0.795609 3 1.55874 2.683901 2.12132 2.12132
+C 2.683901 1.55874 3 0.795609 3 0
+C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132
+C 1.55874 -2.683901 0.795609 -3 0 -3
+C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132
+C -2.683901 -1.55874 -3 -0.795609 -3 0
+C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132
+C -1.55874 2.683901 -0.795609 3 0 3
+z
+" id="m45a57d22c6" style="stroke:#000000;"/>
+ </defs>
+ <g clip-path="url(#pafc522611b)">
+ <use style="fill:#d62728;stroke:#000000;" x="16.077273" xlink:href="#m45a57d22c6" y="11.885975"/>
+ <use style="fill:#d62728;stroke:#000000;" x="16.077273" xlink:href="#m45a57d22c6" y="22.208385"/>
+ <use style="fill:#d62728;stroke:#000000;" x="16.077273" xlink:href="#m45a57d22c6" y="32.530795"/>
+ <use style="fill:#d62728;stroke:#000000;" x="16.077273" xlink:href="#m45a57d22c6" y="42.853205"/>
+ <use style="fill:#d62728;stroke:#000000;" x="16.077273" xlink:href="#m45a57d22c6" y="53.175615"/>
+ <use style="fill:#d62728;stroke:#000000;" x="16.077273" xlink:href="#m45a57d22c6" y="63.498025"/>
+ <use style="fill:#d62728;stroke:#000000;" x="95.353383" xlink:href="#m45a57d22c6" y="11.885975"/>
+ <use style="fill:#d62728;stroke:#000000;" x="82.96649" xlink:href="#m45a57d22c6" y="22.208385"/>
+ <use style="fill:#d62728;stroke:#000000;" x="76.773044" xlink:href="#m45a57d22c6" y="32.530795"/>
+ <use style="fill:#d62728;stroke:#000000;" x="76.773044" xlink:href="#m45a57d22c6" y="42.853205"/>
+ <use style="fill:#d62728;stroke:#000000;" x="82.96649" xlink:href="#m45a57d22c6" y="53.175615"/>
+ <use style="fill:#d62728;stroke:#000000;" x="95.353383" xlink:href="#m45a57d22c6" y="63.498025"/>
+ <use style="fill:#d62728;stroke:#000000;" x="142.010677" xlink:href="#m45a57d22c6" y="11.885975"/>
+ <use style="fill:#d62728;stroke:#000000;" x="142.010677" xlink:href="#m45a57d22c6" y="22.208385"/>
+ <use style="fill:#d62728;stroke:#000000;" x="162.655497" xlink:href="#m45a57d22c6" y="32.530795"/>
+ <use style="fill:#d62728;stroke:#000000;" x="162.655497" xlink:href="#m45a57d22c6" y="42.853205"/>
+ <use style="fill:#d62728;stroke:#000000;" x="162.655497" xlink:href="#m45a57d22c6" y="53.175615"/>
+ <use style="fill:#d62728;stroke:#000000;" x="162.655497" xlink:href="#m45a57d22c6" y="63.498025"/>
+ </g>
+ </g>
+ <g id="line2d_20">
+ <defs>
+ <path d="M 0 3
+C 0.795609 3 1.55874 2.683901 2.12132 2.12132
+C 2.683901 1.55874 3 0.795609 3 0
+C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132
+C 1.55874 -2.683901 0.795609 -3 0 -3
+C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132
+C -2.683901 -1.55874 -3 -0.795609 -3 0
+C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132
+C -1.55874 2.683901 -0.795609 3 0 3
+z
+" id="mb6ec6fa556" style="stroke:#000000;"/>
+ </defs>
+ <g clip-path="url(#pafc522611b)">
+ <use style="fill:#0000ff;stroke:#000000;" x="47.044503" xlink:href="#mb6ec6fa556" y="11.885975"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="57.366913" xlink:href="#mb6ec6fa556" y="32.530795"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="57.366913" xlink:href="#mb6ec6fa556" y="22.208385"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="47.044503" xlink:href="#mb6ec6fa556" y="42.853205"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="26.399683" xlink:href="#mb6ec6fa556" y="53.175615"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="26.399683" xlink:href="#mb6ec6fa556" y="63.498025"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="107.740275" xlink:href="#mb6ec6fa556" y="11.885975"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="120.127167" xlink:href="#mb6ec6fa556" y="22.208385"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="126.320613" xlink:href="#mb6ec6fa556" y="32.530795"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="126.320613" xlink:href="#mb6ec6fa556" y="42.853205"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="120.127167" xlink:href="#mb6ec6fa556" y="53.175615"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="107.740275" xlink:href="#mb6ec6fa556" y="63.498025"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="193.622727" xlink:href="#mb6ec6fa556" y="11.885975"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="193.622727" xlink:href="#mb6ec6fa556" y="22.208385"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="172.977907" xlink:href="#mb6ec6fa556" y="32.530795"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="172.977907" xlink:href="#mb6ec6fa556" y="42.853205"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="172.977907" xlink:href="#mb6ec6fa556" y="53.175615"/>
+ <use style="fill:#0000ff;stroke:#000000;" x="172.977907" xlink:href="#mb6ec6fa556" y="63.498025"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <defs>
+ <clipPath id="pafc522611b">
+ <rect height="60.984" width="195.3" x="7.2" y="7.2"/>
+ </clipPath>
+ </defs>
+</svg>
diff --git a/docs/source/_static/images/logo_dark.png b/docs/source/_static/images/logo_dark.png
new file mode 100644
index 0000000..f484188
--- /dev/null
+++ b/docs/source/_static/images/logo_dark.png
Binary files differ
diff --git a/docs/source/_static/images/logo_dark.svg b/docs/source/_static/images/logo_dark.svg
new file mode 100644
index 0000000..56ce2d9
--- /dev/null
+++ b/docs/source/_static/images/logo_dark.svg
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Created with matplotlib (https://matplotlib.org/) -->
+<svg height="75.384pt" version="1.1" viewBox="0 0 209.7 75.384" width="209.7pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:date>2022-03-17T17:25:30.847142</dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs>
+ <style type="text/css">*{stroke-linecap:butt;stroke-linejoin:round;}</style>
+ </defs>
+ <g id="figure_1">
+ <g id="patch_1">
+ <path d="M 0 75.384
+L 209.7 75.384
+L 209.7 0
+L 0 0
+z
+" style="fill:none;"/>
+ </g>
+ <g id="axes_1">
+ <g id="line2d_1">
+ <path clip-path="url(#pa995e487cb)" d="M 16.077273 11.885975
+L 47.044503 11.885975
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_2">
+ <path clip-path="url(#pa995e487cb)" d="M 16.077273 22.208385
+L 57.366913 22.208385
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_3">
+ <path clip-path="url(#pa995e487cb)" d="M 16.077273 32.530795
+L 57.366913 32.530795
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_4">
+ <path clip-path="url(#pa995e487cb)" d="M 16.077273 42.853205
+L 47.044503 42.853205
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_5">
+ <path clip-path="url(#pa995e487cb)" d="M 16.077273 53.175615
+L 26.399683 53.175615
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_6">
+ <path clip-path="url(#pa995e487cb)" d="M 16.077273 63.498025
+L 26.399683 63.498025
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_7">
+ <path clip-path="url(#pa995e487cb)" d="M 95.353383 11.885975
+L 107.740275 11.885975
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_8">
+ <path clip-path="url(#pa995e487cb)" d="M 82.96649 22.208385
+L 120.127167 22.208385
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_9">
+ <path clip-path="url(#pa995e487cb)" d="M 76.773044 32.530795
+L 126.320613 32.530795
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_10">
+ <path clip-path="url(#pa995e487cb)" d="M 76.773044 42.853205
+L 126.320613 42.853205
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_11">
+ <path clip-path="url(#pa995e487cb)" d="M 82.96649 53.175615
+L 120.127167 53.175615
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_12">
+ <path clip-path="url(#pa995e487cb)" d="M 95.353383 63.498025
+L 107.740275 63.498025
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_13">
+ <path clip-path="url(#pa995e487cb)" d="M 142.010677 11.885975
+L 193.622727 11.885975
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_14">
+ <path clip-path="url(#pa995e487cb)" d="M 142.010677 22.208385
+L 193.622727 22.208385
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_15">
+ <path clip-path="url(#pa995e487cb)" d="M 162.655497 32.530795
+L 172.977907 32.530795
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_16">
+ <path clip-path="url(#pa995e487cb)" d="M 162.655497 42.853205
+L 172.977907 42.853205
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_17">
+ <path clip-path="url(#pa995e487cb)" d="M 162.655497 53.175615
+L 172.977907 53.175615
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_18">
+ <path clip-path="url(#pa995e487cb)" d="M 162.655497 63.498025
+L 172.977907 63.498025
+" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-opacity:0.8;stroke-width:3;"/>
+ </g>
+ <g id="line2d_19">
+ <defs>
+ <path d="M 0 3
+C 0.795609 3 1.55874 2.683901 2.12132 2.12132
+C 2.683901 1.55874 3 0.795609 3 0
+C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132
+C 1.55874 -2.683901 0.795609 -3 0 -3
+C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132
+C -2.683901 -1.55874 -3 -0.795609 -3 0
+C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132
+C -1.55874 2.683901 -0.795609 3 0 3
+z
+" id="m5a2277d5a1" style="stroke:#ffffff;"/>
+ </defs>
+ <g clip-path="url(#pa995e487cb)">
+ <use style="fill:#ffffff;stroke:#ffffff;" x="16.077273" xlink:href="#m5a2277d5a1" y="11.885975"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="16.077273" xlink:href="#m5a2277d5a1" y="22.208385"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="16.077273" xlink:href="#m5a2277d5a1" y="32.530795"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="16.077273" xlink:href="#m5a2277d5a1" y="42.853205"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="16.077273" xlink:href="#m5a2277d5a1" y="53.175615"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="16.077273" xlink:href="#m5a2277d5a1" y="63.498025"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="95.353383" xlink:href="#m5a2277d5a1" y="11.885975"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="82.96649" xlink:href="#m5a2277d5a1" y="22.208385"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="76.773044" xlink:href="#m5a2277d5a1" y="32.530795"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="76.773044" xlink:href="#m5a2277d5a1" y="42.853205"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="82.96649" xlink:href="#m5a2277d5a1" y="53.175615"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="95.353383" xlink:href="#m5a2277d5a1" y="63.498025"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="142.010677" xlink:href="#m5a2277d5a1" y="11.885975"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="142.010677" xlink:href="#m5a2277d5a1" y="22.208385"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="162.655497" xlink:href="#m5a2277d5a1" y="32.530795"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="162.655497" xlink:href="#m5a2277d5a1" y="42.853205"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="162.655497" xlink:href="#m5a2277d5a1" y="53.175615"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="162.655497" xlink:href="#m5a2277d5a1" y="63.498025"/>
+ </g>
+ </g>
+ <g id="line2d_20">
+ <g clip-path="url(#pa995e487cb)">
+ <use style="fill:#ffffff;stroke:#ffffff;" x="47.044503" xlink:href="#m5a2277d5a1" y="11.885975"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="57.366913" xlink:href="#m5a2277d5a1" y="32.530795"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="57.366913" xlink:href="#m5a2277d5a1" y="22.208385"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="47.044503" xlink:href="#m5a2277d5a1" y="42.853205"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="26.399683" xlink:href="#m5a2277d5a1" y="53.175615"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="26.399683" xlink:href="#m5a2277d5a1" y="63.498025"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="107.740275" xlink:href="#m5a2277d5a1" y="11.885975"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="120.127167" xlink:href="#m5a2277d5a1" y="22.208385"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="126.320613" xlink:href="#m5a2277d5a1" y="32.530795"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="126.320613" xlink:href="#m5a2277d5a1" y="42.853205"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="120.127167" xlink:href="#m5a2277d5a1" y="53.175615"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="107.740275" xlink:href="#m5a2277d5a1" y="63.498025"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="193.622727" xlink:href="#m5a2277d5a1" y="11.885975"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="193.622727" xlink:href="#m5a2277d5a1" y="22.208385"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="172.977907" xlink:href="#m5a2277d5a1" y="32.530795"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="172.977907" xlink:href="#m5a2277d5a1" y="42.853205"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="172.977907" xlink:href="#m5a2277d5a1" y="53.175615"/>
+ <use style="fill:#ffffff;stroke:#ffffff;" x="172.977907" xlink:href="#m5a2277d5a1" y="63.498025"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <defs>
+ <clipPath id="pa995e487cb">
+ <rect height="60.984" width="195.3" x="7.2" y="7.2"/>
+ </clipPath>
+ </defs>
+</svg>
diff --git a/docs/source/conf.py b/docs/source/conf.py
index d1b8426..60d0bb7 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -162,6 +162,7 @@ html_theme = 'sphinx_rtd_theme'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
+
html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
@@ -176,7 +177,7 @@ html_theme_options = {}
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
-#html_logo = None
+html_logo = '_static/images/logo_dark.svg'
# The name of an image file (relative to this directory) to use as a favicon of
# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
@@ -188,6 +189,7 @@ html_theme_options = {}
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
+
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 8de31ae..7ff7d22 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -6,6 +6,10 @@
POT: Python Optimal Transport
=============================
+.. image:: _static/images/logo.svg
+ :width: 400
+ :alt: POT Logo
+
Contents
--------
@@ -20,6 +24,7 @@ Contents
.github/CONTRIBUTING
.github/CODE_OF_CONDUCT
+
.. include:: ../../README.md
:parser: myst_parser.sphinx_
diff --git a/examples/others/plot_logo.py b/examples/others/plot_logo.py
new file mode 100644
index 0000000..afddcad
--- /dev/null
+++ b/examples/others/plot_logo.py
@@ -0,0 +1,112 @@
+
+# -*- coding: utf-8 -*-
+r"""
+=======================
+Logo of the POT toolbox
+=======================
+
+In this example we plot the logo of the POT toolbox.
+
+A specificity of this logo is that it is done 100% in Python and generated using
+matplotlib using the EMD solver from POT.
+
+"""
+
+# Author: Remi Flamary <remi.flamary@polytechnique.edu>
+#
+# License: MIT License
+
+# sphinx_gallery_thumbnail_number = 1
+
+# %%
+import numpy as np
+import matplotlib.pyplot as pl
+import ot
+
+# %%
+# Data for logo
+# -------------
+
+
+# Letter P
+p1 = np.array([[0, 6.], [0, 5], [0, 4], [0, 3], [0, 2], [0, 1], ])
+p2 = np.array([[1.5, 6], [2, 4], [2, 5], [1.5, 3], [0.5, 2], [.5, 1], ])
+
+# Letter O
+o1 = np.array([[0, 6.], [-1, 5], [-1.5, 4], [-1.5, 3], [-1, 2], [0, 1], ])
+o2 = np.array([[1, 6.], [2, 5], [2.5, 4], [2.5, 3], [2, 2], [1, 1], ])
+
+# scaling and translation for letter O
+o1[:, 0] += 6.4
+o2[:, 0] += 6.4
+o1[:, 0] *= 0.6
+o2[:, 0] *= 0.6
+
+# letter T
+t1 = np.array([[-1, 6.], [-1, 5], [0, 4], [0, 3], [0, 2], [0, 1], ])
+t2 = np.array([[1.5, 6.], [1.5, 5], [0.5, 4], [0.5, 3], [0.5, 2], [0.5, 1], ])
+
+# translatin the T
+t1[:, 0] += 7.1
+t2[:, 0] += 7.1
+
+# Cocatenate all letters
+x1 = np.concatenate((p1, o1, t1), axis=0)
+x2 = np.concatenate((p2, o2, t2), axis=0)
+
+# Horizontal and vertical scaling
+sx = 1.0
+sy = .5
+x1[:, 0] *= sx
+x1[:, 1] *= sy
+x2[:, 0] *= sx
+x2[:, 1] *= sy
+
+# %%
+# Plot the logo (clear background)
+# --------------------------------
+
+# Solve OT problem between the points
+M = ot.dist(x1, x2, metric='euclidean')
+T = ot.emd([], [], M)
+
+pl.figure(1, (3.5, 1.1))
+pl.clf()
+# plot the OT plan
+for i in range(M.shape[0]):
+ for j in range(M.shape[1]):
+ if T[i, j] > 1e-8:
+ pl.plot([x1[i, 0], x2[j, 0]], [x1[i, 1], x2[j, 1]], color='k', alpha=0.6, linewidth=3, zorder=1)
+# plot the samples
+pl.plot(x1[:, 0], x1[:, 1], 'o', markerfacecolor='C3', markeredgecolor='k')
+pl.plot(x2[:, 0], x2[:, 1], 'o', markerfacecolor='b', markeredgecolor='k')
+
+
+pl.axis('equal')
+pl.axis('off')
+
+# Save logo file
+# pl.savefig('logo.svg', dpi=150, bbox_inches='tight')
+# pl.savefig('logo.png', dpi=150, bbox_inches='tight')
+
+# %%
+# Plot the logo (dark background)
+# --------------------------------
+
+pl.figure(2, (3.5, 1.1), facecolor='darkgray')
+pl.clf()
+# plot the OT plan
+for i in range(M.shape[0]):
+ for j in range(M.shape[1]):
+ if T[i, j] > 1e-8:
+ pl.plot([x1[i, 0], x2[j, 0]], [x1[i, 1], x2[j, 1]], color='w', alpha=0.8, linewidth=3, zorder=1)
+# plot the samples
+pl.plot(x1[:, 0], x1[:, 1], 'o', markerfacecolor='w', markeredgecolor='w')
+pl.plot(x2[:, 0], x2[:, 1], 'o', markerfacecolor='w', markeredgecolor='w')
+
+pl.axis('equal')
+pl.axis('off')
+
+# Save logo file
+# pl.savefig('logo_dark.svg', dpi=150, transparent=True, bbox_inches='tight')
+# pl.savefig('logo_dark.png', dpi=150, transparent=True, bbox_inches='tight')