AI News HubLIVE
サイト内リライト2 分で読了

Show HN: より良いグラフ – エージェントに平凡なMatplotlibプロットをやめさせる

このコースは、AIエージェント、インターン、または開発者に、ルールとベストプラクティスに従って美しく情報豊かなグラフを作成する方法を教え、Matplotlibのデフォルトの平凡な外観から脱却します。主な原則は、オブジェクト指向APIの使用、一貫したテーマの適用、グラフ要素のトリミング、およびチャートタイプの賢明な選択です。

ソースHacker News AI著者: tem_alThor

このコースの目的は、よくある問題を解決することです:ほとんどのMatplotlibグラフは、デフォルトの出力のように見えます——枠線で囲まれ、単調な青色、軸ラベルを繰り返すタイトル、そしてランダムな整数目盛り。これらの問題を修正するのは能力不足ではなく、美的ルールの欠如です。このコースは、そのルール集です。

まず、コースはpyplotステートマシンからオブジェクト指向APIへの移行の重要性を強調しています。fig, ax = plt.subplots()を使用することで、グラフオブジェクトを直接操作し、グローバル状態の混乱を避けられます。以降の操作はすべてaxとfigに基づき、plt.*呼び出しは使用しません。この切り替えが、以降のすべての改善の基盤となります。

次に、コースは視覚的階層を紹介します:Figure(キャンバス)、Axes(プロット領域)、Artist(すべての可視要素)。各要素はArtistであり、.set_*()メソッドで属性を変更できます。座標系にはデータ座標、軸座標、図形座標、ディスプレイ座標があり、適切な座標系を選択することで注釈の位置を固定できます。例えば、軸分数座標(axes fraction)を使用すると、データ範囲が異なるグラフでも注釈を同じ位置に配置できます。

コースは具体的な改善例も示します。月次収益データの例では、デフォルトのグラフは青色の線、枠線、タイトルは「revenue」のみで、情報が伝わりにくいです。改善後は、灰色の線を背景に、紫色でピーク値を強調し、直接注釈と「Revenue peaked in July, then cooled into year-end」という簡潔なタイトルを追加し、データのストーリーが一目でわかるようになります。もう一つの古典的な例は、航空会社の乗客データ(1949-1960)です。テーマを適用し、12ヶ月移動平均線を描き、「US air travel roughly 17×'d in a decade — and the summer peaks grew with it」という説明的なタイトルを追加することで、成長傾向が明確に示されます。

さらに、コースは実用的なルールをまとめています:常にハンドル(fig, ax)を保持する;すべての要素はArtistであり、変更可能である;座標系を意図的に選択する;プロット前にチャートタイプを検討する。これらのルールはプロジェクトの再利用可能なファイル(CLAUDE.md、VISUALIZATION_GUIDE.md、house_style.py)に収められ、将来のエージェントが自動的に同等の品質のグラフを生成できるようにします。

要約すると、このコースは具体的なコード例を提供するだけでなく、美的ルールの体系を確立し、誰でもプロフェッショナルで明確なグラフを作成できるようにします。

Show HN: より良いグラフ – エージェントに平凡なMatplotlibプロットをやめさせる | AI News Hub