Skip to content

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

Updated on

matplotlibのvlines関数を使って、垂直線を用いたデータの可視化を向上させる方法を解説します。チャート例やそのまま使えるコードスニペットも紹介しています。

時間系列、ヒストグラムやカスタムプロットをPythonで扱う際に、matplotlib.pyplot.vlines()は意外と便利です。このシンプルな関数は垂直線を描画し、工夫次第でチャートをより表現豊かで見やすく、情報性の高いものにできます。

この記事では、「ただ線を引くだけ」以上の用途に役立つ**plt.vlines()の実用的な6つの事例**を解説し、それぞれの例を通じて実践的に応用できるようにします。


1. 🔴 特定のX軸値をハイライト

閾値、判断ポイント、またはマイルストーンなど、特定のX軸の値を強調したい場合。

plt.vlines(x=5, ymin=-1, ymax=1, color='red', linestyle='--')

特定のX値をハイライト

モデルのカットオフスコアやイベントの時間などを示すのに最適です。


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を追加して、より見やすく伝わるグラフ作成に挑戦してみてください。