Tracer une pyramide bigarrée#
Cet exercice est inspirée de l’article 2015-04-07 Motif, optimisation, biodiversité. Il s’agit de dessiner un motif.
[1]:
%matplotlib inline
Problème#
Il faut dessiner la pyramide suivante à l’aide de matplotlib.
[1]:
from IPython.display import Image
Image("biodiversite_tri2.png")
[1]:

Idée de la solution#
On sépare le problème en deux plus petits :
Trouver la position des boules dans un repère cartésien.
Choisir la bonne couleur.
Le repère est hexagonal. L’image suivante est tirée de la page wikipédia empilement compact.
[2]:
Image("hexa.png")
[2]:

Un exemple pour dessiner des ronds dans un graphiques.
[2]:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1, 1)
x, y = [], []
for i in range(0, 3):
for j in range(0, 4):
x.append(i)
y.append(j)
size = [300 for c in x]
colors = ["r" for c in x]
ax.scatter(x, y, s=size, c=colors, alpha=0.5);

A vous.
[5]: