KataGo で目数評価はできるものの、Lizzie で勝率グラフのようにグラフを出すことはできません。
11/23 追記 なんという大嘘・赤っ恥 ↓この赤紫の線はなんだ?? (苦笑)

Python でグラフを描く練習記事ということで。
(追記ここまで)

KataGo で分析をおこなって棋譜を保存すると、ファイルに目数評価のデータが書き込まれるので、それを利用して Python でグラフを作成してみました。

道策 vs 安井算知(2子) で道策1目負け、「道策畢生の名局」として伝えられている碁です。

SGFファイルをみてみると1手ごとに scoreMean: という行がありますので、それを利用します。

以下がソース。 例えばmokusu.py として保存してコマンドラインで

python mokusu.py xxxxxx.sgf

というふうに使います。

↓ 2019/11/22 バグ修正。 負の目数差を正にしていたのを、偶数手目に正負反転
        png を sgf と同じ場所、同じ名前で保存するようにした gridを入れた

import sys
import os
import re
import matplotlib.pyplot as plt
def main():
    mokusu_list=[]
    tesu_list=[]
    mokusu=0
    tesu=0
    input_file = sys.argv[1]
    png_file = os.path.splitext(os.path.abspath(input_file))[0]+”.png”
    with open(input_file,’r’,encoding=”utf-8_sig”) as f:
        lines = f.readlines()
    for line in lines:
        if re.search(r’^scoreMean’, line):
            tesu = tesu + 1
            line = line.replace(‘scoreMean: ‘,”)
            mokusu = float(line)
            if (tesu % 2) == 0:
                mokusu = mokusu * (-1)
            mokusu_list.append(mokusu)
            tesu_list.append(tesu)
    plt.plot(tesu_list, mokusu_list)
    plt.grid(True)
    plt.savefig(png_file)
    plt.show()
if __name__ == ‘__main__’:
    main()

できたグラフがこちらです。