lynx   »   [go: up one dir, main page]

  • 現代ファンタジー
  • 異世界ファンタジー

『エルデン公爵家の末子』(第三章第5話前編の人物相関図)

『エルデン公爵家の末子』(第三章第5話前編)のアドレスです。

https://kakuyomu.jp/works/16818622172619949326/episodes/16818622175067453311

『エルデン公爵家の末子』(第三章第5話前編の人物相関図)です。

筆者が、pythonで組んだSVG画像をスクショしました。

『エルデン公爵家の末子』第三章第5話前編のアドレスです。



そのプログラムを以下に載せておきます。ご自由に改変してご使用下さい。

# 念のため、再生成ではなく dot.pipe() を用いて直接 SVG データを書き出して保存する方法を試す
import graphviz

# 人物相関図の定義
dot = graphviz.Digraph(format='svg')
dot.attr(size='16,24', rankdir='TB', fontname="MS Mincho")
dot.node_attr.update(fontname="MS Mincho", fontsize='12')
dot.edge_attr.update(fontname="MS Mincho", fontsize='11')
dot.graph_attr.update(fontname="MS Mincho", nodesep='1.5', ranksep='1.5')

# ノード定義
dot.node('アレクシウス', 'アレクシウス\n(22歳)\n北ティアンロン公爵')
dot.node('ライラ', 'ライラ・バルガン\n(37歳)\n元キルハン王妃・正妻')
dot.node('ナジール', 'ナジール・バルガン\n(21歳)\n王子→セヴェリナ辺境へ左遷')
dot.node('アイリス', 'アイリス\n(48歳)\n水魔術師・第一側室')
dot.node('ロラン', 'ロラン\n(50歳)\n戦術補佐・アイリスの夫')
dot.node('セレナ', 'セレナ\n(22歳)\n第二側室・交易担当')
dot.node('マーカス', 'マーカス\n(18歳)\n前線支援')
dot.node('リーナ', 'リーナ\n(14歳)\n見習い魔術師')
dot.node('リヤーナ', 'リヤーナ\n(34歳)\n第三側室・元ジャハンの妻')
dot.node('ジャハン', 'ジャハン\n(40歳)\nオルダナ族族長・降伏')

# 関係線定義
dot.edge('アレクシウス', 'ライラ', label='正妻')
dot.edge('ライラ', 'ナジール', label='母子')
dot.edge('アレクシウス', 'アイリス', label='第一側室')
dot.edge('アレクシウス', 'セレナ', label='第二側室')
dot.edge('アレクシウス', 'リヤーナ', label='第三側室')
dot.edge('アイリス', 'ロラン', label='夫婦')
dot.edge('アイリス', 'セレナ', label='母娘')
dot.edge('アイリス', 'マーカス', label='母子')
dot.edge('アイリス', 'リーナ', label='母子')
dot.edge('セレナ', 'ジャハン', label='降伏させる')
dot.edge('ジャハン', 'リヤーナ', label='元夫婦')

# pipeでSVG出力してからファイルに書き込む
svg_data = dot.pipe(format='svg')
svg_path = "アレクシウス陣営_人物相関図_最終版.svg"

# バイナリ書き込みで保存
with open(svg_path, 'wb') as f:
f.write(svg_data)

svg_path

コメント

コメントの投稿にはユーザー登録(無料)が必要です。もしくは、ログイン
投稿する
Лучший частный хостинг