Skip to main content

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.svg
  • camembert.svg, croissant.svg, eclair.svg, escargot.svg
  • fougasse.svg, fromage.svg, macaron.svg, madeleine.svg
  • pain_au_chocolat.svg, pain_de_mie.svg, pita.svg
  • religieuse.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 traditionnelle
  • pain_de_mie - Pain de mie
  • croissant - Croissant doré
  • pain_au_chocolat - Pain au chocolat (ou chocolatine 😉)
  • boule - Boule de pain
  • brioche - Brioche dorée
  • bretzel - Bretzel alsacien
  • fougasse - Fougasse provençale
  • pita - Pain pita
  • vin - Verre de vin
  • fromage - Morceau de fromage
  • eclair - Éclair au chocolat
  • macaron - Macaron parisien
  • camembert - Camembert de Normandie
  • madeleine - Madeleine de Proust
  • religieuse - Religieuse au chocolat
  • escargot - 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 parfaite
  • croissant_beurre - Or brillant et miel
  • fromage - Palette des fromages français
  • macaron - Couleurs pastel gourmandes

Palettes régionales

  • tricolore - Drapeau français (bleu, blanc, rouge)
  • lavande - Lavande de Provence
  • cote_azur - Mer et ciel méditerranéens
  • bourgogne - Couleurs d'automne bourguignonnes
  • versailles - Or et splendeur royale
  • nuit_parisienne - Bleu nuit et lumières dorées

Palettes viticoles

  • bordeaux - Du rosé au rouge profond
  • champagne - Pétillant et doré

Palettes spéciales

  • escargot_persil - Marron gris-vert
  • french_kiss - Rouge passionnel
  • je_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

frenchplotlib-1.3.0.tar.gz (255.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

frenchplotlib-1.3.0-py3-none-any.whl (277.9 kB view details)

Uploaded Python 3

File details

Details for the file frenchplotlib-1.3.0.tar.gz.

File metadata

  • Download URL: frenchplotlib-1.3.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

Hashes for frenchplotlib-1.3.0.tar.gz
Algorithm Hash digest
SHA256 d723a6b94d124991cb375f68f8f1f70d3235e7bc16bf5fba0dd22a90dc83a512
MD5 d599921740547a519d2944957c1045be
BLAKE2b-256 7621afd25fc916ff7057c850aa0b05be189e17f88c4fdd5c21e191989cd2e701

See more details on using hashes here.

File details

Details for the file frenchplotlib-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: frenchplotlib-1.3.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

Hashes for frenchplotlib-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac96230e5a160d30e62ad63c257525b1939fb284051187a5b2521a0fed4f100c
MD5 426460ea078b3e729c68efff7fa6b266
BLAKE2b-256 f3a5833aa443ae43a754e4e5590006bb185bae658030541eded54f6179032114

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page