Matplotlib マーカー塗りつぶし

Salman Mehmood 2023年6月20日
Matplotlib マーカー塗りつぶし

この説明では、Matplotlib でマーカー スタイルをカスタマイズし、塗りつぶしマーカーを作成し、さまざまな線スタイルでプロットを作成する方法について説明します。

Matplotlib で塗りつぶしマーカーと塗りつぶしなしマーカーを作成する

マーカーは、グラフ上のポイントを表します。 単一の文字列または整数を指定できます。

これら 2つのパラメーターを使用して、マーカーのスタイルとサイズをカスタマイズできます。最初のパラメーターは marker で、2 番目のパラメーターは markersize です。 マーカーには、グラフ上でポイントするためのいくつかのスタイルがあります。

価値 説明
9 整数 9 は、右向きの三角形を使用してデータ ポイントをマークします。
+ + 文字を含む文字列は、+ 記号を使用してデータ ポイントをマークします。
バツ 小文字の x を含む文字列は、塗りつぶされていない十字を使用してデータ ポイントをマークします。
バツ 大文字の X を含む文字列は、塗りつぶされた十字を使用してデータ ポイントをマークします。
4 整数 4 は、左向きの三角形を使用してデータ ポイントをマークします。
s 小文字の s を含む文字列は、正方形を使用してデータ ポイントをマークします。
d 小文字の d を含む文字列は、ひし形を使用してデータ ポイントをマークします。
P 大文字の P を含む文字列は、塗りつぶされたプラス記号を使用してデータ ポイントをマークします。
p 小文字の p を含む文字列は、ポリゴンを使用してデータ ポイントをマークします。
時間 小文字の h を含む文字列は、六角形を使用してデータ ポイントをマークします。
大文字 H の文字列は、塗りつぶされた六角形を使用してデータ ポイントをマークします。
o 小文字の o を含む文字列は、フクロウの形を使用してデータ ポイントをマークします。

線の色、スタイル、およびマーカーを使用する例を見てみましょう。

numpy をインポートする必要があり、matplotlib.pyplot もインポートする必要があります。 次に、データ配列を作成します。ここで、X には負の pi と正の pi の間に均等に分散された 15 のポイントが含まれ、C には X の余弦値が含まれ、S には X の正弦値が含まれます。

import numpy as np
import matplotlib.pyplot as plot

X = np.linspace(-np.pi, np.pi, 15)
C = np.cos(X)
S = np.sin(X)

次に、figsize が 5 インチ x 4 インチで、dpi が 80 の Figure を作成しましょう。subplot 関数を使用して、2 行 2 列の 4つの軸を作成する必要があります。

最初の軸では、余弦関数をプロットします。 線の色はネイビー、linestyle は密な破線、marker は星、markersize は 8 です。

plot.subplot(2, 2, 1)
plot.plot(X, C, color="navy", linestyle=(0, (5, 1)), marker="*", markersize=8)

2 番目の軸では、正弦関数をプロットします。 線 color"orangered"marker は十字、markersize は 8 です。

plot.subplot(2, 2, 2)
plot.plot(
    X, S, color="orangered", linestyle=(0, (3, 1, 1, 1)), marker="x", markersize=8
)

3 番目の軸では、負の余弦関数をプロットします。 color"darkgreen"linestyle は実線、marker は円、マーカーのサイズは 8 です。

plot.subplot(2, 2, 3)
plot.plot(X, -C, color="darkgreen", linestyle=(0, ()), marker="o", markersize=8)

4 番目の軸では、負の正弦関数をプロットします。 線 color は耐火レンガ、linestyle は密集した点線、マーカーはプラス記号、マーカー サイズは 8 です。

plot.subplot(2, 2, 4)
plot.plot(X, -S, color="firebrick", linestyle=(0, (1, 1)), marker="p", markersize=8)

完全なソース コード:

import numpy as np
import matplotlib.pyplot as plot

X = np.linspace(-np.pi, np.pi, 15)
C = np.cos(X)
S = np.sin(X)
fig = plot.figure(figsize=(5, 4), dpi=80)

plot.subplot(2, 2, 1)
plot.title("Unfilled Marker")
plot.plot(X, C, color="navy", linestyle=(0, (5, 1)), marker="*", markersize=8)
plot.subplot(2, 2, 2)
plot.plot(
    X, S, color="orangered", linestyle=(0, (3, 1, 1, 1)), marker="x", markersize=8
)
plot.subplot(2, 2, 3)
plot.plot(X, -C, color="darkgreen", linestyle=(0, ()), marker="o", markersize=8)
plot.subplot(2, 2, 4)
plot.plot(X, -S, color="firebrick", linestyle=(0, (1, 1)), marker="p", markersize=8)
plot.show()

出力:

matplotlib の塗りつぶされていないマーカー

以下は、異なる文字でマーカーを塗りつぶす例です。

コード:

import numpy as np
import matplotlib.pyplot as plot

X = np.linspace(-np.pi, np.pi, 15)
C = np.cos(X)
S = np.sin(X)
fig = plot.figure(figsize=(5, 4), dpi=80)

plot.subplot(2, 2, 1)
plot.title("Filled Marker")
plot.plot(X, C, color="navy", linestyle=(0, (5, 1)), marker="D", markersize=8)
plot.subplot(2, 2, 2)
plot.plot(
    X, S, color="orangered", linestyle=(0, (3, 1, 1, 1)), marker="X", markersize=8
)
plot.subplot(2, 2, 3)
plot.plot(X, -C, color="darkgreen", linestyle=(0, ()), marker="P", markersize=8)
plot.subplot(2, 2, 4)
plot.plot(X, -S, color="firebrick", linestyle=(0, (1, 1)), marker="H", markersize=8)
plot.show()

出力:

matplotlib の塗りつぶされたマーカー

ここをクリック 塗りつぶされたマーカー スタイルと塗りつぶされていないマーカー スタイルの詳細については、こちらをご覧ください。

著者: Salman Mehmood
Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn