📊 plt.vlines()
のデータビジュアライゼーションでの6つの代表的な例
Updated on

時間系列、ヒストグラムやカスタムプロットをPythonで扱う際に、matplotlib.pyplot.vlines()
は意外と便利です。このシンプルな関数は垂直線を描画し、工夫次第でチャートをより表現豊かで見やすく、情報性の高いものにできます。
この記事では、「ただ線を引くだけ」以上の用途に役立つ**plt.vlines()
の実用的な6つの事例**を解説し、それぞれの例を通じて実践的に応用できるようにします。
1. 🔴 特定のX軸値をハイライト
閾値、判断ポイント、またはマイルストーンなど、特定のX軸の値を強調したい場合。
plt.vlines(x=5, ymin=-1, ymax=1, color='red', linestyle='--')
モデルのカットオフスコアやイベントの時間などを示すのに最適です。
2. 🟠 時系列データのイベントを注釈
重要なイベント(例:急増、停止、変化)に注目させるため。
event_times = [10, 20, 35]
plt.vlines(event_times, ymin=min(data), ymax=max(data), color='orange', linestyle='--')
これにより、いつ重要なポイントがあったのか一目でわかります。
3. 🔵 ステムプロットを手動で描く
バーチカルラインを使って、個別の値を可視化するステムプロットのような見た目を作ることも可能です。
plt.vlines(x, 0, y, colors='blue')
plt.plot(x, y, 'o')
離散的な信号や生の数値データの視覚化に役立ちます。
4. ⚪ カスタム縦グリッド線
特定のX値だけに格子線を引きたいときに便利です。
grid_positions = [2, 4, 6, 8]
plt.vlines(grid_positions, ymin=-1.2, ymax=1.2, linestyle='dotted')
X軸の間隔が不均一だったり、自動目盛りが適さない場合に効果的です。
5. 🟣 繰り返し線で区域をシェーディング
グラフを複数の時間帯やセグメントに分けるために、繰り返し線を用いて視覚的に区切ることもできます。
for x in range(0, 100, 10):
plt.vlines(x, ymin=-1, ymax=1, color='lightgray')
ビジネスサイクルや実験フェーズの区切りなどに最適です。
6. 🟢 ヒストグラムに統計的マーカーを視覚化
中央値や四分位点といった統計参考ラインも描画可能です。
plt.vlines([q1, median, q3], ymin=0, ymax=30, linestyles='dashed')
このようにヒストグラムの情報性を高め、レポートやダッシュボードで役立ちます。
🔚 まとめ
plt.vlines()
は単なる線引きだけでなく、多彩な用途に使える強力なツールです。時間系列の解析、閾値の強調、分布の視覚化など、垂直線を使うことで図の見やすさやストーリー性が向上します。
次のチャートにぜひvlines
を追加して、より見やすく伝わるグラフ作成に挑戦してみてください。