※この記事は、個人技術ブログ CodeArchPedia.com の技術メモ(要約)です。
Pythonで金融データを可視化しようと、Plotlyを使ってローソク足チャートを作成していた時の話です。標準的なローソク足に出来高を組み合わせようとしたところ、安易に引数を渡すだけではエラーに阻まれ、データの同期が取れずに苦戦しました。
何が起きたか(課題)
・Candlestickオブジェクトに直接volume引数を渡してエラー(ValueError)が発生した。
・価格と出来高という異なるスケールのデータを同一軸で扱おうとして、グラフの可読性が極端に低下した。
・時間軸(X軸)のズームやスクロールが連動せず、分析ツールとして使い物にならない状態だった。
どう解決したか(概要)
Plotlyの make_subplots 関数を活用し、価格用と出来高用のエリアを明確に分けるアプローチを取りました。2行1列の構成を作り、 shared_xaxes=True を指定することで、時間軸を完全に同期させています。
さらに、陽線と陰線で出来高の色を動的に塗り分けることで、視覚的な直感性を高める工夫を行いました。
効果(Before/After)
・Before: 出来高を表示しようとするとエラー、あるいは価格軸と混ざって見づらいグラフ。
・After: 画面上段にローソク足、下段に出来高を配置したクリーンなUIを実現。
・インタラクティブな操作:片方をズームすればもう片方も追従するため、市場の転換点を見つけるのが格段に速くなりました。
🚀 詳細な設定とコードはこちら
具体的な実装コードや、パフォーマンスを落とさないためのデータ前処理のコツは元のブログで公開しています。