Logo of the POT toolbox

In this example we plot the logo of the POT toolbox.

This logo is that it is done 100% in Python and generated using matplotlib and ploting teh solution of 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

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, transparent=True, bbox_inches='tight')
# pl.savefig('logo.png', dpi=150, transparent=True, bbox_inches='tight')
plot logo

Out:

(-0.43, 9.03, 0.375, 3.125)

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')
plot logo

Out:

(-0.43, 9.03, 0.375, 3.125)

Total running time of the script: ( 0 minutes 0.058 seconds)

Gallery generated by Sphinx-Gallery