[Python] Comment dessiner un diagramme de dispersion avec Matplotlib

Utilisez scatter pour dessiner un diagramme de dispersion. Quelques exemples sont présentés ci-dessous.

Diagramme de dispersion simple

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()

scatter01.png

Changer la couleur de chaque donnée

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()

scatter02.png

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))

Ajouter une légende et une ligne de quadrillage

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()

scatter03.png

Changer le marqueur

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()

scatter04.png

Changer la taille du marqueur

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()

scatter05.png

Recommended Posts

[Python] Comment dessiner un diagramme de dispersion avec Matplotlib
[Python] Comment dessiner un graphique linéaire avec Matplotlib
[Python] Comment dessiner plusieurs graphiques avec Matplotlib
[Python] Comment dessiner un histogramme avec Matplotlib
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
Dessinez une ligne de pliage / diagramme de dispersion avec python matplotlib pour fichier CSV (2 colonnes)
Comment dessiner un graphique avec Matplotlib
Comment lire un fichier CSV avec Python 2/3
Comment dessiner un graphique à 2 axes avec pyplot
Essayez de dessiner une courbe de vie avec python
Créer un diagramme de dispersion 3D avec SciPy + matplotlib (Python)
[Python] Si vous souhaitez dessiner un diagramme de dispersion de plusieurs clusters
Comment dessiner un graphique à barres qui résume plusieurs séries avec matplotlib
Comment dessiner une ligne verticale sur une carte de chaleur dessinée avec Python Seaborn
Dessinez de force quelque chose comme un organigramme avec Python, matplotlib
[Python] Road to the Serpent (5) Jouez avec Matplotlib
Créer une animation de tracé avec Python + Matplotlib
Python: comment utiliser async avec
Manuel de graphisme Python avec Matplotlib.
Dessinez un graphique lâche avec matplotlib
Comment démarrer avec Python
Comment calculer la date avec python
Dessinez facilement des graphiques avec matplotlib
Couleur en continu avec le diagramme de dispersion matplotlib
Dessinez Riapnov Fractal avec Python, matplotlib
Effectuer un tracé de probabilité normale logarithmique avec Python, matplotlib
Étudier les mathématiques avec Python: dessiner un graphe sympy (scipy) avec matplotlib
Comment installer NPI + envoyer un message à la ligne avec python
Comment créer un environnement de développement de la série Python2.7 avec Vagrant
Comment démarrer par lots un programme Python créé avec le notebook Jupyter
Comment titrer plusieurs figures avec matplotlib
Comment ajouter un package avec PyCharm
[Python] Comment rendre une classe itérable
[Introduction à Python] Comment fractionner une chaîne de caractères avec la fonction split
[Python] Comment convertir une liste bidimensionnelle en liste unidimensionnelle
[Python 3.8 ~] Comment définir intelligemment des fonctions récursives avec des expressions lambda
Comment créer une caméra de surveillance (caméra de sécurité) avec Opencv et Python
Comment utiliser BigQuery en Python
[Python] Comment inverser une chaîne de caractères
Comment obtenir stacktrace en python
Comment faire un test de sac avec python
[Python] Comment obtenir une valeur avec une clé autre que value avec Enum
Comment entrer le japonais avec les malédictions Python
[ROS2] Comment lire un fichier bag avec le lancement au format python
Comment envoyer une requête à l'API DMM (FANZA) avec python
Comment afficher les marques de légende en un avec le tracé Python 2D
Comment tracer beaucoup de légendes en changeant la couleur du graphique en continu avec matplotlib
Comment exécuter des scripts Maya Python
Comment installer python3 avec docker centos
[Petite histoire] Comment enregistrer des graphiques matplotlib dans un lot avec Jupyter
[Python] Explique comment utiliser la fonction range avec un exemple concret
(Matplotlib) Je veux dessiner un graphique avec une taille spécifiée en pixels
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste
3. Traitement du langage naturel avec Python 1-2. Comment créer un corpus: Aozora Bunko
Comment télécharger avec Heroku, Flask, Python, Git (4)
Dessinez une surface plane avec un graphique 3D matplotlib