Matplotlib で破線の水平棒グラフを作成する

Beginner

This tutorial is from open-source community. Access the source code

はじめに

Matplotlib は、Python で静的、アニメーション、インタラクティブな視覚化を作成するために使用される Python ライブラリです。Python でデータ可視化に使用される人気のあるライブラリです。このチュートリアルでは、Matplotlib を使用して破線の水平棒グラフを作成する方法を学びます。

VM のヒント

VM の起動が完了したら、左上隅をクリックして Notebook タブに切り替え、Jupyter Notebook を開いて練習を行ってください。

時々、Jupyter Notebook の読み込みが完了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題が発生した場合は、Labby に質問してください。セッション終了後にフィードバックを提供していただければ、迅速に問題を解決します。

必要なライブラリをインポートする

このステップでは、必要なライブラリをインポートします。破線の水平棒グラフを作成するために、matplotlib.pyplot ライブラリを使用します。

import matplotlib.pyplot as plt

破線の水平棒グラフを作成する

このステップでは、破線の水平棒グラフを作成します。グラフを作成するために、Axes クラスの broken_barh() メソッドを使用します。broken_barh() メソッドは 3 つの引数を取ります。最初の引数はタプルのリストで、各タプルは棒グラフのセグメントを表し、タプルの最初の要素はセグメントの開始点、2 番目の要素はセグメントの長さです。2 番目の引数は棒グラフの y 座標です。3 番目の引数は棒グラフの塗りつぶし色です。

fig, ax = plt.subplots()
ax.broken_barh([(110, 30), (150, 10)], (10, 9), facecolors='tab:blue')
ax.broken_barh([(10, 50), (100, 20), (130, 10)], (20, 9),
               facecolors=('tab:orange', 'tab:green', 'tab:red'))
ax.set_ylim(5, 35)
ax.set_xlim(0, 200)
ax.set_xlabel('seconds since start')
ax.set_yticks([15, 25], labels=['Bill', 'Jim'])
ax.grid(True)
ax.annotate('race interrupted', (61, 25),
            xytext=(0.8, 0.9), textcoords='axes fraction',
            arrowprops=dict(facecolor='black', shrink=0.05),
            fontsize=16,
            horizontalalignment='right', verticalalignment='top')

plt.show()

グラフを解釈する

このステップでは、破線の水平棒グラフを解釈します。このグラフは、2 人の参加者である Bill と Jim が異なる時間にスタートしたレースを表しています。y 軸は参加者を表し、x 軸はレース開始からの経過時間を秒で表しています。青とオレンジの棒グラフは Bill のレースを表し、緑、赤、水色の棒グラフは Jim のレースを表しています。注釈「race interrupted」は、レースが 61 秒で中断されたことを示しています。

まとめ

Matplotlib は、Python でデータ可視化に使用される人気のあるライブラリです。このチュートリアルでは、Matplotlib を使用して破線の水平棒グラフを作成する方法を学びました。必要なライブラリをインポートし、Axes クラスの broken_barh() メソッドを使用してグラフを作成し、グラフを解釈しました。