import matplotlib.pyplot as plt import datetime # url = "https://www.data.gouv.fr/fr/datasets/r/7eee8f09-5d1b-4f48-a304-5e99e8da1e26" import pandas_geojson as pdg import numpy as np from pandas import DataFrame from pandas_geojson import GeoJSON import re geojson: GeoJSON = pdg.read_geojson('small.geojson') gdf: DataFrame = geojson.to_dataframe() operators: int = gdf['properties.nom_amenageur'].value_counts() # Calculer les hauteurs des barres et les étiquettes height = np.zeros(len(gdf)) labels = [] for i, operator in enumerate(operators): height[i] = gdf[gdf['nom_operateur'] == operator]['properties.nom_amenageur'].size labels.append(operator) # Créer le graphique fig, ax = plt.subplots() ax.bar(range(len(height)), height) ax.set_xlabel('Index de l\'opérateur') ax.set_ylabel('Nombre de lignes') ax.set_xticks(range(len(height))) ax.set_xticklabels(labels) ax.spines['right'].set_visible(False) ax.spines['top'].set_visible(False) ax.tick_params(axis='both', length=0) # Ajouter la date au graphique current_datetime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") plt.suptitle(f"Distribution du nombre de lignes par opérateur - Date : {current_datetime}") # Afficher le graphique plt.show() # Sauvegarder le graphique en tant que fichier JPG plt.savefig("distribution_par_operateur.jpg")