1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

複数のグラフを重ねて描画する際の色と線の種類を管理する方法

Posted at

複数のグラフを重ねて描画する際の色と線の種類を管理する方法

複数のデータセットを1つのプロットに描画する際、色や線のスタイルを調整して視覚的に区別しやすくすることが重要です。ここでは、Matplotlibを使用して色や線の種類を指定・管理するいくつかの方法について説明します。


目次

  1. 色の指定方法
  2. 線のスタイル指定方法
  3. カラーサイクルの設定
  4. プロットごとの手動設定
  5. カラーマップの使用
  6. まとめ
  7. 参考文献

1. 色の指定方法

色の指定には複数の方法があります。以下の例では、異なる形式で色を指定しています。

  • 名前付き色: 'red', 'blue', 'green' など
  • 16進数カラーコード: '#FF0000', '#0000FF' など
  • RGB値: (1, 0, 0)(赤), (0, 0, 1)(青)
plt.plot(x, y1, color='red')
plt.plot(x, y2, color='#0000FF')
plt.plot(x, y3, color=(0, 1, 0))

2. 線のスタイル指定方法

線のスタイルも指定でき、視覚的にグラフの区別がしやすくなります。

  • 実線: '-'
  • 破線: '--'
  • 点線: ':'
  • 一点鎖線: '-.'
plt.plot(x, y1, linestyle='-')
plt.plot(x, y2, linestyle='--')
plt.plot(x, y3, linestyle=':')

3. カラーサイクルの設定

複数のプロットがある場合、カラーサイクルを設定することで、自動的に異なる色が割り当てられます。

import matplotlib.pyplot as plt
from cycler import cycler

colors = ['red', 'blue', 'green', 'purple']
plt.rc('axes', prop_cycle=(cycler('color', colors)))

# プロット例
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.show()

4. プロットごとの手動設定

各プロットに対して色や線のスタイルを指定する方法です。labelを指定すると凡例にも自動で適用されます。

plt.plot(x, y1, color='red', linestyle='-', label='Line 1')
plt.plot(x, y2, color='blue', linestyle='--', label='Line 2')
plt.plot(x, y3, color='green', linestyle='-.', label='Line 3')
plt.legend()
plt.show()

5. カラーマップの使用

カラーマップを使用すると、多数のデータセットを色分けする際に便利です。

import numpy as np
import matplotlib.pyplot as plt

num_lines = 5
x = np.linspace(0, 10, 100)
y = [np.sin(x + i) for i in range(num_lines)]
cm = plt.get_cmap('viridis')  # カラーマップの選択

for i in range(num_lines):
    plt.plot(x, y[i], color=cm(i / num_lines), label=f'Line {i+1}')

plt.legend()
plt.show()

6. まとめ

これらの手法を活用することで、複数のグラフを1つの図に効果的に描画し、視覚的な区別をつけることができます。各データの内容や視認性に応じて、最適な色と線のスタイルを選択してください。


参考文献

[1] How to Change Line Color in Matplotlib
[2] Multiple Lines in Matplotlib
[3] Matplotlib Legend Guide
[4] Python Plotting with Matplotlib

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?