Utilisez scatter pour dessiner un diagramme de dispersion. Quelques exemples sont présentés ci-dessous.
Voici un exemple du diagramme de dispersion le plus simple.
import numpy as np
import matplotlib.pyplot as plt
# generate data
x = np.random.rand(100)
y = np.random.rand(100)
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x,y)
ax.set_title('first scatter plot')
ax.set_xlabel('x')
ax.set_ylabel('y')
fig.show()
Vous pouvez changer la couleur en spécifiant c = 'red' dans le paramètre.
import numpy as np
import matplotlib.pyplot as plt
# generate data
x1 = np.random.rand(100)*0.5
y1 = np.random.rand(100)
x2 = np.random.rand(100)*0.5 + 0.5
y2 = np.random.rand(100)
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x1,y1, c='red')
ax.scatter(x2,y2, c='blue')
ax.set_title('second scatter plot')
ax.set_xlabel('x')
ax.set_ylabel('y')
fig.show()
Le même résultat est obtenu même s'il est spécifié en RVB. À ce stade, spécifiez une valeur comprise entre 0,0 et 1,0.
ax.scatter(x1,y1, c=(1.0,0,0))
ax.scatter(x2,y2, c=(0, 0, 1.0))
La légende utilise la légende. Vous pouvez modifier la position d'affichage avec un argument. Si vous souhaitez dessiner une ligne de quadrillage, utilisez grid (True).
position |
---|
upper right |
upper left |
lower left |
lower right |
right |
center left |
center right |
lower center |
upper center |
center |
import numpy as np
import matplotlib.pyplot as plt
# generate data
x1 = np.random.rand(100)*0.5
y1 = np.random.rand(100)*0.5
x2 = np.random.rand(100)*0.5 + 0.5
y2 = np.random.rand(100)*0.5
x3 = np.random.rand(100)*0.5
y3 = np.random.rand(100)*0.5 + 0.5
x4 = np.random.rand(100)*0.5 + 0.5
y4 = np.random.rand(100)*0.5 + 0.5
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x1,y1, c='red', label='group1')
ax.scatter(x2,y2, c='blue', label='group2')
ax.scatter(x3,y3, c='green', label='group3')
ax.scatter(x4,y4, c='yellow', label='group4')
ax.set_title('third scatter plot')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.grid(True)
ax.legend(loc='upper left')
fig.show()
Les marqueurs sont spécifiés comme marker = 'o'. Quatre marqueurs typiques ont été utilisés comme exemple. Il y en a beaucoup d'autres. Voir ici.
import numpy as np
import matplotlib.pyplot as plt
# generate data
x1 = np.random.rand(100)*0.5
y1 = np.random.rand(100)*0.5
x2 = np.random.rand(100)*0.5 + 0.5
y2 = np.random.rand(100)*0.5
x3 = np.random.rand(100)*0.5
y3 = np.random.rand(100)*0.5 + 0.5
x4 = np.random.rand(100)*0.5 + 0.5
y4 = np.random.rand(100)*0.5 + 0.5
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x1,y1, c='red', marker='.', label='group1')
ax.scatter(x2,y2, c='blue',marker='o', label='group2')
ax.scatter(x3,y3, c='green',marker='^', label='group3')
ax.scatter(x4,y4, c='yellow',marker='s', label='group4')
ax.set_title('fourth scatter plot')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.grid(True)
ax.legend(loc='upper left')
fig.show()
La taille du marqueur est un paramètre tel que s = 20. La taille par défaut est 20.
import numpy as np
import matplotlib.pyplot as plt
# generate data
x1 = np.random.rand(100)*0.5
y1 = np.random.rand(100)*0.5
x2 = np.random.rand(100)*0.5 + 0.5
y2 = np.random.rand(100)*0.5
x3 = np.random.rand(100)*0.5
y3 = np.random.rand(100)*0.5 + 0.5
x4 = np.random.rand(100)*0.5 + 0.5
y4 = np.random.rand(100)*0.5 + 0.5
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x1,y1, c='red', s=20, marker='o', label='group1')
ax.scatter(x2,y2, c='blue',s=40, marker='o', label='group2')
ax.scatter(x3,y3, c='green',s=80, marker='o', label='group3')
ax.scatter(x4,y4, c='yellow',s=120, marker='o', label='group4')
ax.set_title('fifth scatter plot')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.grid(True)
ax.legend(loc='upper left')
fig.show()
Recommended Posts