French-themed matplotlib markers and colormaps
Project description
🥖 frenchplotlib
Une bibliothèque Python pour ajouter une touche française à vos visualisations matplotlib avec des marqueurs personnalisés et des palettes de couleurs inspirées de la France.
📝 Description
frenchplotlib enrichit vos graphiques matplotlib avec :
- 🥐 17 marqueurs personnalisés en forme d'icônes françaises (baguette, croissant, vin, fromage, etc.)
- 🎨 16 palettes de couleurs inspirées de la culture française (tricolore, lavande de Provence, Bordeaux, etc.)
🚀 Installation
pip install frenchplotlib
📦 Prérequis
- Python >= 3.6
- matplotlib
- numpy
Pour les marqueurs SVG personnalisés (optionnel)
Si vous souhaitez utiliser load_svg_marker() pour charger vos propres fichiers SVG :
pip install svgpathtools svgpath2mpl
💡 Utilisation
Marqueurs personnalisés prédéfinis
import matplotlib.pyplot as plt
import numpy as np
from frenchplotlib import tapisseries
# Données d'exemple
x = np.linspace(-1, 1, 20)
y = np.sin(x)
# Utilisation d'un marqueur en forme de boule de pain
plt.figure(figsize=(10, 6))
plt.scatter(x, y, marker=tapisseries.boule, s=500)
plt.title("Graphique avec marqueur français")
plt.show()
Marqueurs personnalisés depuis SVG
Vous pouvez également charger vos propres marqueurs SVG ou utiliser les marqueurs fournis dans le dossier assets/ :
import matplotlib.pyplot as plt
import numpy as np
from frenchplotlib.custom_marker import load_svg_marker
# Charger un marqueur SVG personnalisé
marker = load_svg_marker('frenchplotlib/assets/baguette.svg')
# Ou utilisez votre propre fichier SVG
# marker = load_svg_marker('chemin/vers/votre/fichier.svg')
# Données d'exemple
x = np.linspace(-1, 1, 20)
y = np.sin(x)
# Utilisation du marqueur personnalisé
plt.figure(figsize=(10, 6))
plt.scatter(x, y, marker=marker, s=500)
plt.title("Graphique avec marqueur SVG personnalisé")
plt.show()
Avantages des marqueurs SVG personnalisés :
- 🎨 Utilisez n'importe quel fichier SVG comme marqueur
- 🔧 Plus de flexibilité pour créer vos propres designs
- 📦 Tous les marqueurs français sont disponibles en SVG dans
frenchplotlib/assets/ - 🎯 Le marqueur est automatiquement centré et mis à l'échelle
Fichiers SVG disponibles :
baguette.svg,boule.svg,bretzel.svg,brioche.svgcamembert.svg,croissant.svg,eclair.svg,escargot.svgfougasse.svg,fromage.svg,macaron.svg,madeleine.svgpain_au_chocolat.svg,pain_de_mie.svg,pita.svgreligieuse.svg,vin.svg
Palettes de couleurs
import matplotlib.pyplot as plt
import numpy as np
from frenchplotlib import tapisseries, dorures
# Données d'exemple
x = np.linspace(-1, 1, 20)
y = np.sin(x)
# Combinaison marqueur + palette de couleurs
plt.figure(figsize=(12, 6))
plt.scatter(x, y, c=y, marker=tapisseries.boule, s=1000, cmap=dorures.escargot_persil)
plt.colorbar(label='Valeurs')
plt.title("Visualisation à la française")
plt.show()
🥐 Marqueurs disponibles (tapisseries)
baguette- Une baguette traditionnellepain_de_mie- Pain de miecroissant- Croissant dorépain_au_chocolat- Pain au chocolat (ou chocolatine 😉)boule- Boule de painbrioche- Brioche doréebretzel- Bretzel alsacienfougasse- Fougasse provençalepita- Pain pitavin- Verre de vinfromage- Morceau de fromageeclair- Éclair au chocolatmacaron- Macaron parisiencamembert- Camembert de Normandiemadeleine- Madeleine de Proustreligieuse- Religieuse au chocolatescargot- Escargot de Bourgogne
🎨 Palettes de couleurs (dorures)
Palettes gourmandes
pain_dore- Du blanc crème au brun dorébaguette_bien_cuite- Dégradé de cuisson parfaitecroissant_beurre- Or brillant et mielfromage- Palette des fromages françaismacaron- Couleurs pastel gourmandes
Palettes régionales
tricolore- Drapeau français (bleu, blanc, rouge)lavande- Lavande de Provencecote_azur- Mer et ciel méditerranéensbourgogne- Couleurs d'automne bourguignonnesversailles- Or et splendeur royalenuit_parisienne- Bleu nuit et lumières dorées
Palettes viticoles
bordeaux- Du rosé au rouge profondchampagne- Pétillant et doré
Palettes spéciales
escargot_persil- Marron gris-vertfrench_kiss- Rouge passionnelje_m_en_fous- Gris perle élégant
📊 Exemples avancés
Graphique multi-marqueurs
import matplotlib.pyplot as plt
import numpy as np
from frenchplotlib import tapisseries, dorures
fig, ax = plt.subplots(figsize=(12, 8))
# Différents marqueurs
marqueurs = [tapisseries.croissant, tapisseries.vin, tapisseries.fromage, tapisseries.macaron]
couleurs = ['#FFD700', '#8B0000', '#F5DEB3', '#FFB6C1']
labels = ['Croissant', 'Vin', 'Fromage', 'Macaron']
for i, (marker, color, label) in enumerate(zip(marqueurs, couleurs, labels)):
x = np.random.randn(10) + i*2
y = np.random.randn(10) + i
ax.scatter(x, y, marker=marker, s=800, c=color, label=label, alpha=0.7)
ax.legend(loc='best')
ax.set_title('Les délices de France', fontsize=16)
plt.show()
Heatmap avec palette française
import matplotlib.pyplot as plt
import numpy as np
from frenchplotlib import dorures
# Données aléatoires
data = np.random.rand(10, 10)
plt.figure(figsize=(10, 8))
plt.imshow(data, cmap=dorures.tricolore, aspect='auto')
plt.colorbar(label='Intensité')
plt.title('Heatmap tricolore')
plt.show()
🛠️ Développement
Installation en mode développement
git clone https://github.com/PhilZPhaZ/frenchplotlib.git
cd frenchplotlib
pip install -e .
Structure du projet
frenchplotlib/
├── frenchplotlib/
│ ├── __init__.py
│ ├── tapisseries.py # Marqueurs personnalisés prédéfinis
│ ├── dorures.py # Palettes de couleurs
│ ├── custom_marker.py # Chargement de marqueurs SVG personnalisés
│ ├── converter.py # Conversion de marqueurs
│ ├── tete.py # Fonctionnalités de tête
│ └── assets/ # Fichiers SVG des marqueurs
│ ├── baguette.svg
│ ├── boule.svg
│ ├── croissant.svg
│ └── ...
├── test/ # Exemples de tests
├── setup.py
├── pyproject.toml
└── README.md
📄 Licence
Ce projet est sous licence MIT.
🤝 Contribution
Les contributions sont les bienvenues ! N'hésitez pas à :
- Signaler des bugs
- Proposer de nouvelles fonctionnalités
- Ajouter de nouveaux marqueurs ou palettes
- Améliorer la documentation
🙏 Remerciements
Merci à matplotlib pour son excellente bibliothèque de visualisation qui rend tout cela possible.
Créé avec ❤️ et 🥖 en France
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file frenchplotlib-1.2.0.tar.gz.
File metadata
- Download URL: frenchplotlib-1.2.0.tar.gz
- Upload date:
- Size: 255.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e6f2f6efc051609e9a6dcf8fad6f7eab8ca069f993a5e666b169d7eadf0299f
|
|
| MD5 |
b2ab4e6c30a11956694730233cb6cc92
|
|
| BLAKE2b-256 |
77fd384b8b24a4e3e6fe574a17fdea2066e984408899c71aa2c03f6334741990
|
File details
Details for the file frenchplotlib-1.2.0-py3-none-any.whl.
File metadata
- Download URL: frenchplotlib-1.2.0-py3-none-any.whl
- Upload date:
- Size: 277.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f1ff8066de7e3ea0fbac3873bdb97edac5d9001916a0ef8a75cec52482d689c
|
|
| MD5 |
2885c303cba6f6e80e9a85a209ebd16a
|
|
| BLAKE2b-256 |
0eb7c04de49b24744c8a39cee88ebc4ca8d255e51df173a9dab6fa18dbdbc623
|