up réseau de personnages et graph des intrigues
This commit is contained in:
parent
499ec2154a
commit
b4b4398bb0
24 changed files with 6836 additions and 33 deletions
|
@ -1,32 +1,71 @@
|
|||
import pandas as pd
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.patches as patches
|
||||
from matplotlib.patches import FancyBboxPatch
|
||||
|
||||
# Lire le fichier CSV
|
||||
df = pd.read_csv('intrigues.csv')
|
||||
|
||||
# Créer un diagramme de Gantt
|
||||
fig, ax = plt.subplots(figsize=(10, 6))
|
||||
fig, ax = plt.subplots(figsize=(12, 8))
|
||||
|
||||
# DéFinir les valeurs de Début et de Fin pour chaque tâche
|
||||
# Définir les couleurs
|
||||
colors = plt.cm.viridis(np.linspace(0, 1, len(df)))
|
||||
|
||||
# Définir les valeurs de Début et de Fin pour chaque tâche avec des barres aux bords arrondis
|
||||
bar_height = 0.6
|
||||
for i, row in df.iterrows():
|
||||
ax.plot([row['Début'], row['Fin']], [i, i], 'b-')
|
||||
ax.plot([row['Début'], row['Début']], [i-0.1, i+0.1], 'bo')
|
||||
ax.plot([row['Fin'], row['Fin']], [i-0.1, i+0.1], 'ro')
|
||||
start = row['Début']
|
||||
end = row['Fin']
|
||||
width = end - start
|
||||
|
||||
# Créer une barre avec des bords arrondis
|
||||
fancy_box = FancyBboxPatch(
|
||||
(start, i - bar_height/2), # (x, y)
|
||||
width, # width
|
||||
bar_height, # height
|
||||
boxstyle=f"round,pad=0.02,rounding_size=0.2",
|
||||
facecolor=colors[i],
|
||||
alpha=0.8,
|
||||
edgecolor='black',
|
||||
linewidth=1
|
||||
)
|
||||
ax.add_patch(fancy_box)
|
||||
|
||||
# Ajouter le texte du nom de l'intrigue dans la barre si assez large
|
||||
if width > 1.5:
|
||||
ax.text(
|
||||
start + width/2,
|
||||
i,
|
||||
row['Intrigue'],
|
||||
ha='center',
|
||||
va='center',
|
||||
color='white',
|
||||
fontweight='bold'
|
||||
)
|
||||
|
||||
# DéFinir les étiquettes pour les tâches
|
||||
# Définir les étiquettes pour les tâches
|
||||
ax.set_yticks(range(len(df)))
|
||||
ax.set_yticklabels(df['Intrigue'])
|
||||
|
||||
# DéFinir les étiquettes pour les valeurs
|
||||
# Définir les étiquettes pour les valeurs
|
||||
ax.set_xticks(range(int(df['Début'].min()), int(df['Fin'].max())+1))
|
||||
ax.set_xticklabels(ax.get_xticks())
|
||||
ax.plot([row['Début'], row['Fin']], [i, i], 'b-', linewidth=2)
|
||||
|
||||
# Ajouter un titre au diagramme
|
||||
ax.set_title('Intrigues')
|
||||
ax.set_title('Diagramme des Intrigues', fontsize=16)
|
||||
|
||||
# Afficher le diagramme
|
||||
#plt.show()
|
||||
#plt.figure(figsize=(16, 9))
|
||||
# Code pour tracer votre graphique
|
||||
#plt.savefig("graphique_gantt_intrigues.png", dpi=72)
|
||||
# Ajouter une grille pour faciliter la lecture
|
||||
ax.grid(True, linestyle='--', alpha=0.7)
|
||||
|
||||
# Ajuster les limites du graphique
|
||||
ax.set_xlim(df['Début'].min() - 0.5, df['Fin'].max() + 0.5)
|
||||
ax.set_ylim(-0.5, len(df) - 0.5)
|
||||
|
||||
# Améliorer l'apparence générale
|
||||
plt.tight_layout()
|
||||
|
||||
# Sauvegarder en PNG et SVG
|
||||
plt.savefig("graphique_gantt_intrigues.png", dpi=150, bbox_inches='tight')
|
||||
plt.savefig("graphique_gantt_intrigues.svg", format='svg', bbox_inches='tight')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue