前にeleganttでガントチャートを生成する記事を書いたばかりですが、
eleganttがバージョンアップして、かなり少ないコード量でガントチャートを生成できるようになりました。まずはGoogle Colab上で生成している動画をご覧ください。
コードは動画の通りですが、こちらにも貼っておきます。
import elegantt
from IPython.display import display
g = elegantt.EleGantt()
s="""
タスクA: 3d
タスクB: 4d
"""
g.auto_draw(s,mode="mermaid")
display(g.im)
こんな感じでg.auto_draw()
にMermaid書式でテキストを流し込めば、今日を起点としたガントチャートを生成してくれます。
もちろん、こんな感じに書けば今日ではなく指定した日付を起点とすることもできますし
s="""
タスクA: 2024-06-12,3d
タスクB: 4d
"""
祝日を入れれば、祝日を考慮した営業日数にしてくれます。(デフォルトは土日のみ考慮)
g.set_holidays(["2024-06-17","2024-06-18"])
Google Colabで使う場合はeleganttと一緒にnoto fontを入れておく必要があります。
!pip install elegantt
!apt install fonts-noto-cjk
追記:Windowsで使う場合は描画前にset_fontでフォントを指定しておく必要があります
g.set_font("C:\Windows\Fonts\meiryo.ttc")