Matplotlibで破線を表現!グラフ作成に使える点線・破線の使い方完全ガイド

※本サイトにはプロモーション・広告が含まれています。

(最終更新月: 2024年11月)

✔こんな方におすすめの記事です

「Matplotlibで破線のグラフを描きたい」
「点線や破線の種類をもっと知りたい」
「グラフをより見やすく、わかりやすくしたい」

✔当記事を通じて得られること

  • Matplotlibでの破線の基本的な描き方
  • 様々な破線スタイルとカスタマイズ方法
  • 実践的なグラフ作成テクニック

当記事では、Matplotlibにおける破線の基本から応用的な使い方まで、実例を交えて幅広く解説していきます。
ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Matplotlibでの破線の基本

Matplotlibで破線を使用する方法について説明していきます。
グラフを見やすくするために、実線だけでなく破線を使いこなすことが重要なのです。

  • 破線の基本的な書き方
  • linestyleパラメータの使い方
  • 破線の太さと色の設定

破線の基本的な書き方

Matplotlibで破線を描くには、plot関数のlinestyleパラメータを使用します。
最も基本的な破線は、linestyleに’–‘を指定することで実現できるのです。
以下が基本的な破線を描くコードの例です。

import matplotlib.pyplot as plt
import numpy as np

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

plt.plot(x, y, linestyle='--')
plt.show()

このコードを実行すると、正弦波が破線で表示されます。

linestyleパラメータの使い方

linestyleパラメータには、様々な指定方法があります。
文字列による指定と、タプルによる詳細な設定が可能なのです。
以下に主要な指定方法をリストアップしてみましょう。

# 文字列による指定
plt.plot(x, y, linestyle='--')  # 破線
plt.plot(x, y, linestyle=':')   # 点線
plt.plot(x, y, linestyle='-.')  # 一点鎖線
plt.plot(x, y, linestyle='-')   # 実線

# 省略形での指定
plt.plot(x, y, ls='--')  # linestyleの省略形としてlsも使用可能

破線の太さと色の設定

破線のスタイルだけでなく、太さや色も自由にカスタマイズできます。
linewidthパラメータとcolorパラメータを使用することで、より見やすいグラフを作成できるのです。
具体的な例を見てみましょう。

plt.plot(x, y, linestyle='--', linewidth=2.5, color='red')
plt.plot(x, y, ls=':', lw=1.5, c='blue')  # 省略形での指定も可能

様々な破線スタイル

Matplotlibには多様な破線スタイルが用意されています。
目的に応じて適切なスタイルを選択することで、グラフの可読性が向上するのです。

  • 標準的な破線スタイル
  • カスタム破線パターン
  • マーカーとの組み合わせ

標準的な破線スタイル

Matplotlibには、いくつかの標準的な破線スタイルが用意されています。
これらのスタイルは、グラフの種類や目的に応じて使い分けることができます。
以下に主要な破線スタイルの例を示します。

styles = ['-', '--', '-.', ':']
labels = ['Solid', 'Dashed', 'Dash-dot', 'Dotted']

for i, style in enumerate(styles):
    plt.plot(x, np.sin(x + i), linestyle=style, label=labels[i])

plt.legend()
plt.show()

カスタム破線パターン

より細かい破線パターンを作成したい場合は、タプルを使用して設定できます。
第1要素にオンの長さ、第2要素にオフの長さを指定することで、独自の破線パターンを作成できるのです。
以下のコードで、カスタム破線パターンを試してみましょう。

custom_patterns = [
    (0, (1, 1)),     # 細かい点線
    (0, (5, 5)),     # 長めの破線
    (0, (3, 1, 1, 1)),  # 破線と点の組み合わせ
    (0, (5, 1, 1, 1, 1, 1))  # 複雑なパターン
]

for i, pattern in enumerate(custom_patterns):
    plt.plot(x, np.sin(x + i), linestyle=pattern, label=f'Pattern {i+1}')

plt.legend()
plt.show()

マーカーとの組み合わせ

破線とマーカーを組み合わせることで、さらに見やすいグラフを作成できます。
markerパラメータを使用することで、線上に様々な形状のマーカーを配置できるのです。
以下のコードを実行して、効果を確認してみましょう。

plt.plot(x, np.sin(x), linestyle='--', marker='o', label='Circle markers')
plt.plot(x, np.cos(x), linestyle=':', marker='^', label='Triangle markers')
plt.legend()
plt.show()

破線を使った実践的なグラフ作成

破線を効果的に使用することで、データの比較や変化を明確に表現できます。
実践的なグラフ作成方法について、具体例を交えて解説していきましょう。

  • 複数データの比較
  • 予測値と実測値の表現
  • 信頼区間の表示

複数データの比較

異なるデータセットを比較する際、破線を活用することで視認性が向上します。
実線と破線を組み合わせることで、主要なデータと補助的なデータを区別できるのです。
以下のコードで、複数データの比較グラフを作成してみましょう。

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.sin(x) * np.cos(x)

plt.plot(x, y1, '-', label='Data 1')
plt.plot(x, y2, '--', label='Data 2')
plt.plot(x, y3, ':', label='Data 3')
plt.legend()
plt.grid(True)
plt.show()

予測値と実測値の表現

予測値と実測値を表示する際、破線を使うことで違いを明確に表現できます。
通常、実測値は実線、予測値は破線で表現することが一般的です。
以下のコードで、予測値と実測値の比較グラフを作成してみましょう。

x = np.linspace(0, 10, 20)
actual = np.sin(x) + np.random.normal(0, 0.1, len(x))
predicted = np.sin(x)

plt.plot(x, actual, 'o-', label='Actual')
plt.plot(x, predicted, '--', label='Predicted')
plt.legend()
plt.grid(True)
plt.show()

信頼区間の表示

統計的な分析では、信頼区間を破線で表現することが多いです。
メインの線は実線で、上下の信頼区間を破線で表現することで、データの不確実性を視覚的に表現できます。
以下のコードで、信頼区間付きのグラフを作成してみましょう。

x = np.linspace(0, 10, 100)
y = np.sin(x)
confidence = 0.2

plt.plot(x, y, '-', label='Mean')
plt.plot(x, y + confidence, '--', label='Upper bound')
plt.plot(x, y - confidence, '--', label='Lower bound')
plt.fill_between(x, y - confidence, y + confidence, alpha=0.2)
plt.legend()
plt.show()

グラフの見やすさを向上させる破線テクニック

破線を効果的に使用するためには、いくつかの重要なポイントがあります。
グラフの可読性を高めるテクニックについて解説していきましょう。

  • 適切な線の太さと色の選択
  • 凡例の効果的な配置
  • グリッド線との組み合わせ

適切な線の太さと色の選択

破線の太さと色は、グラフの見やすさに大きく影響します。
目的に応じて適切な設定を選択することが重要なのです。
以下のコードで、異なる太さと色の組み合わせを試してみましょう。

plt.figure(figsize=(10, 6))
x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x), '--', linewidth=1, color='blue', label='Thin blue')
plt.plot(x, np.cos(x), '--', linewidth=2, color='red', label='Medium red')
plt.plot(x, np.sin(x+1), '--', linewidth=3, color='green', label='Thick green')

plt.legend()
plt.grid(True, linestyle=':')
plt.show()

凡例の効果的な配置

凡例は、破線の種類を説明する重要な要素です。
適切な位置に配置することで、グラフの理解が深まります。
以下のコードで、凡例の配置を工夫してみましょう。

plt.figure(figsize=(10, 6))
x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x), '--', label='Sin curve')
plt.plot(x, np.cos(x), ':', label='Cos curve')

plt.legend(loc='best', bbox_to_anchor=(1.02, 1), borderaxespad=0)
plt.tight_layout()
plt.show()

グリッド線との組み合わせ

グリッド線と破線を適切に組み合わせることで、データの読み取りが容易になります。
グリッド線のスタイルを工夫することで、メインの破線との区別が明確になるのです。
以下のコードで、グリッド線と破線の効果的な組み合わせを確認してみましょう。

plt.figure(figsize=(10, 6))
x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x), '--', linewidth=2, label='Data')
plt.grid(True, linestyle=':', alpha=0.5)
plt.grid(True, which='minor', linestyle=':', alpha=0.2)
plt.minorticks_on()

plt.legend()
plt.show()

まとめ

当記事では、Matplotlibにおける破線の使い方について学習してきました。

  • 基本的な破線の描き方から応用的なテクニックまで幅広く理解できました
  • 様々な破線スタイルとカスタマイズ方法を習得しました
  • 実践的なグラフ作成のためのテクニックを学びました

これらの知識を活用することで、より分かりやすく魅力的なグラフを作成できます。
まずは基本的な破線の使い方から始めて、徐々に応用的なテクニックに挑戦してみましょう。
グラフ作成の技術を磨くことで、データの可視化がより効果的になるはずです。

タイトルとURLをコピーしました