import matplotlib.pyplot as plt import matplotlib.dates as mdates from datetime import datetime # Exemple de données de tâches tasks = [ {"name": "Tâche 1", "start": "2023-10-01", "end": "2023-10-05"}, {"name": "Tâche 2", "start": "2023-10-03", "end": "2023-10-10"}, {"name": "Tâche 3", "start": "2023-10-07", "end": "2023-10-15"}, ] # Convertir les dates en objets datetime for task in tasks: task["start"] = datetime.strptime(task["start"], "%Y-%m-%d") task["end"] = datetime.strptime(task["end"], "%Y-%m-%d") # Créer le diagramme de Gantt fig, ax = plt.subplots(figsize=(10, len(tasks))) for i, task in enumerate(tasks): ax.barh(task["name"], (task["end"] - task["start"]).days, left=task["start"], color='skyblue') # Formater l'axe des dates ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) ax.xaxis.set_major_locator(mdates.DayLocator(interval=1)) plt.xticks(rotation=45) # Ajouter des labels et un titre ax.set_xlabel('Date') ax.set_ylabel('Tâches') ax.set_title('Diagramme de Gantt') # Afficher le diagramme plt.tight_layout() plt.show()
Can't find a pure Python 3 wheel for: 'matplotlib-pyplot' See: https://pyodide.org/en/stable/usage/faq.html#why-can-t-micropip-find-a-pure-python-wheel-for-a-package Can't find a pure Python 3 wheel for: 'matplotlib-dates' See: https://pyodide.org/en/stable/usage/faq.html#why-can-t-micropip-find-a-pure-python-wheel-for-a-package
Matplotlib is building the font cache; this may take a moment.
import plotly.express as px import pandas as pd # Exemple de données data = [ {"Task": "Tâche 1", "Start": "2023-10-01", "Finish": "2023-10-05"}, {"Task": "Tâche 2", "Start": "2023-10-03", "Finish": "2023-10-10"}, {"Task": "Tâche 3", "Start": "2023-10-07", "Finish": "2023-10-15"}, ] df = pd.DataFrame(data) df["Start"] = pd.to_datetime(df["Start"]) df["Finish"] = pd.to_datetime(df["Finish"]) # Créer le diagramme de Gantt fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", title="Diagramme de Gantt avec Plotly") fig.update_yaxes(categoryorder="total ascending") fig.show()
import plotly.express as px import pandas as pd # Exemple de données data = [ {"Task": "Tâche 1", "Start": "2023-10-01", "Finish": "2023-10-05"}, {"Task": "Tâche 2", "Start": "2023-10-03", "Finish": "2023-10-10"}, {"Task": "Tâche 3", "Start": "2023-10-07", "Finish": "2023-10-15"}, ] df = pd.DataFrame(data) df["Start"] = pd.to_datetime(df["Start"]) df["Finish"] = pd.to_datetime(df["Finish"]) # Créer le diagramme de Gantt fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", title="Diagramme de Gantt avec Plotly") fig.update_yaxes(categoryorder="total ascending") fig.show()
import plotly.express as px import pandas as pd # Exemple de données avec une colonne de couleur data = [ {"Task": "Tâche 1", "Start": "2023-10-01", "Finish": "2023-10-05", "Color": "blue"}, {"Task": "Tâche 2", "Start": "2023-10-03", "Finish": "2023-10-10", "Color": "green"}, {"Task": "Tâche 3", "Start": "2023-10-07", "Finish": "2023-10-15", "Color": "orange"}, ] df = pd.DataFrame(data) df["Start"] = pd.to_datetime(df["Start"]) df["Finish"] = pd.to_datetime(df["Finish"]) # Créer le diagramme de Gantt avec couleur par tâche fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", color="Color", title="Diagramme de Gantt avec couleurs par tâche") fig.update_yaxes(categoryorder="total ascending") fig.show()
import plotly.express as px import pandas as pd # Exemple de données avec une colonne de couleur et progression data = [ {"Task": "Tâche 1", "Start": "2023-10-01", "Finish": "2023-10-05", "Color": "blue", "Progress": 0.2}, {"Task": "Tâche 2", "Start": "2023-10-03", "Finish": "2023-10-10", "Color": "green", "Progress": 0}, {"Task": "Tâche 3", "Start": "2023-10-07", "Finish": "2023-10-15", "Color": "orange", "Progress": 0}, ] df = pd.DataFrame(data) df["Start"] = pd.to_datetime(df["Start"]) df["Finish"] = pd.to_datetime(df["Finish"]) # Calculer la date de progression pour Tâche 1 df["Progress_Start"] = df["Start"] + (df["Finish"] - df["Start"]) * df["Progress"] # Créer le diagramme de Gantt avec couleur par tâche et progression fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", color="Color", title="Diagramme de Gantt avec couleurs et progression par tâche") fig.add_scatter(x=df["Progress_Start"], y=df["Task"], mode='markers', marker=dict(size=10, color='red'), name='Progression') fig.update_yaxes(categoryorder="total ascending") fig.show()
import plotly.express as px import pandas as pd # Exemple de données avec une colonne de couleur et progression data = [ {"Task": "Tâche 1", "Start": "2023-10-01", "Finish": "2023-10-05", "Color": "blue", "Progress": 0.2}, {"Task": "Tâche 2", "Start": "2023-10-03", "Finish": "2023-10-10", "Color": "green", "Progress": 0}, {"Task": "Tâche 3", "Start": "2023-10-07", "Finish": "2023-10-15", "Color": "orange", "Progress": 0}, ] df = pd.DataFrame(data) df["Start"] = pd.to_datetime(df["Start"]) df["Finish"] = pd.to_datetime(df["Finish"]) # Trier par date de début df = df.sort_values(by="Start") # Calculer la date de progression pour Tâche 1 df["Progress_Start"] = df["Start"] + (df["Finish"] - df["Start"]) * df["Progress"] # Créer le diagramme de Gantt avec couleur par tâche et progression fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", color="Color", title="Diagramme de Gantt avec couleurs et progression par tâche") fig.add_scatter(x=df["Progress_Start"], y=df["Task"], mode='markers', marker=dict(size=10, color='red'), name='Progression') fig.update_yaxes(categoryorder="total ascending") fig.show()
import plotly.express as px import pandas as pd # Exemple de données avec une colonne de couleur et progression data = [ {"Task": "Tâche 1", "Start": "2023-10-01", "Finish": "2023-10-05", "Color": "blue", "Progress": 0.2}, {"Task": "Tâche 2", "Start": "2023-10-03", "Finish": "2023-10-10", "Color": "green", "Progress": 0}, {"Task": "Tâche 3", "Start": "2023-10-07", "Finish": "2023-10-15", "Color": "orange", "Progress": 0}, ] df = pd.DataFrame(data) df["Start"] = pd.to_datetime(df["Start"]) df["Finish"] = pd.to_datetime(df["Finish"]) # Trier par date de début df = df.sort_values(by="Start") # Calculer la date de progression pour Tâche 1 df["Progress_Start"] = df["Start"] + (df["Finish"] - df["Start"]) * df["Progress"] # Créer le diagramme de Gantt avec couleur par tâche et progression fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", color="Color", title="Diagramme de Gantt avec couleurs et progression par tâche") fig.add_scatter(x=df["Progress_Start"], y=df["Task"], mode='markers', marker=dict(size=10, color='red'), name='Progression') # Ajouter les valeurs de progression en pourcentage for i, row in df.iterrows(): fig.add_annotation( x=row["Progress_Start"], y=row["Task"], text=f"{int(row['Progress'] * 100)}%", showarrow=True, arrowhead=2, ax=20, ay=-10 ) fig.update_yaxes(categoryorder="total ascending") fig.show()