Matplotlib で破線スタイルをカスタマイズする

Beginner

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

はじめに

この実験では、Matplotlib の破線スタイルをカスタマイズする方法を学びます。.Line2D.set_dashes() を使用して破線シーケンスを変更する方法、property_cycle を使用して破線スタイルを構成する方法、および ~.Line2D.set_dash_capstyle()~.Line2D.set_dash_joinstyle()~.Line2D.set_gapcolor() などの関連メソッドを使用して破線のその他の属性を設定する方法について説明します。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使用して練習します。

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

学習中に問題が発生した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。そうすると、迅速に問題を解決します。

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

まず、必要なライブラリをインポートする必要があります。この実験では、Matplotlib と NumPy を使用します。

import matplotlib.pyplot as plt
import numpy as np

プロット用のデータを作成する

次に、プロット用のデータを作成する必要があります。この実験では、サイン関数を使ってデータを作成します。0 から 10 までの間に 500 個の等間隔の点を生成し、np.sin() 関数を使って各点のサインを計算します。

x = np.linspace(0, 10, 500)
y = np.sin(x)

線の太さを設定する

plt.rc() 関数を使って、プロット内のすべての線の太さを設定することができます。この実験では、線の太さを 2.5 に設定します。

plt.rc('lines', linewidth=2.5)

プロットを作成する

ここで、plt.subplots() 関数を使ってプロットを作成します。また、ax.plot() 関数を使って 3 つの線を作成します。

fig, ax = plt.subplots()

## Using set_dashes() and set_capstyle() to modify dashing of an existing line.
line1, = ax.plot(x, y, label='Using set_dashes() and set_dash_capstyle()')
line1.set_dashes([2, 2, 10, 2])  ## 2pt line, 2pt break, 10pt line, 2pt break.
line1.set_dash_capstyle('round')

## Using plot(..., dashes=...) to set the dashing when creating a line.
line2, = ax.plot(x, y - 0.2, dashes=[6, 2], label='Using the dashes parameter')

## Using plot(..., dashes=..., gapcolor=...) to set the dashing and
## alternating color when creating a line.
line3, = ax.plot(x, y - 0.4, dashes=[4, 4], gapcolor='tab:pink',
                 label='Using the dashes and gapcolor parameters')

ax.legend(handlelength=4)
plt.show()

.Line2D.set_dashes() を使って破線シーケンスを変更する

.Line2D.set_dashes() を使って破線シーケンスを変更することができます。この例では、line1 の破線シーケンスを変更して、2pt の線、2pt の間隔、10pt の線、2pt の間隔の破線パターンを作成します。また、line1.set_dash_capstyle() を使ってキャップスタイルを 'round' に設定します。

line1, = ax.plot(x, y, label='Using set_dashes() and set_dash_capstyle()')
line1.set_dashes([2, 2, 10, 2])  ## 2pt line, 2pt break, 10pt line, 2pt break.
line1.set_dash_capstyle('round')

property_cycle を使って破線スタイルを設定する

property_cycle を使って破線スタイルを設定することができます。これは、サイクラーにキーワード dashes を使って破線シーケンスのリストを渡すことで行うことができます。この例では、この方法を使いません。

関連するメソッドを使って破線のその他の属性を設定する

破線のその他の属性も、~.Line2D.set_dash_joinstyle()~.Line2D.set_dash_joinstyle()、および ~.Line2D.set_gapcolor() のような関連するメソッドを使って設定することができます。この例では、dashesgapcolor パラメータを使って line3 の破線シーケンスと交互の色を設定します。

line3, = ax.plot(x, y - 0.4, dashes=[4, 4], gapcolor='tab:pink',
                 label='Using the dashes and gapcolor parameters')

まとめ

この実験では、Matplotlib で破線スタイルをカスタマイズする方法を学びました。.Line2D.set_dashes() を使って破線シーケンスを変更する方法、property_cycle を使って破線スタイルを設定する方法、および ~.Line2D.set_dash_capstyle()~.Line2D.set_dash_joinstyle()~.Line2D.set_gapcolor() のような関連するメソッドを使って破線のその他の属性を設定する方法について説明しました。これらの手順に従えば、Matplotlib のプロットにカスタマイズされた破線スタイルを作成することができます。