[PYTHON] Je veux changer la couleur en cliquant sur le point de dispersion dans matplotlib

en premier

C'était bien jusqu'au point où je l'ai tracé avec scatter, mais il était difficile de mettre à jour les données par la suite, donc je vais les partager.

code

scatter.py


import matplotlib.pyplot as plt
import itertools #produit cartésien
import numpy as np

if __name__ == '__main__':
    x_max = 10
    y_max = 10

    fig = plt.figure(figsize=(5,5))
    ax = fig.add_subplot(111)

    ax.set_xlim(-x_max*0.05,(x_max-1)*1.05)
    ax.set_ylim(-y_max*0.05,(y_max-1)*1.05)

    x_data = [i for i in range(x_max)]
    y_data = [i for i in range(y_max)]
    tmp_data = list(itertools.product(x_data,y_data))
    t_x = [i[0] for i in tmp_data]
    t_y = [i[1] for i in tmp_data]
    data = [t_x,t_y]
    
    colors = [(0,0,0,1) for i in range(x_max*y_max)]
    art = ax.scatter(data[0],data[1],c=colors)
    
    def onclick(event):
        x = round(event.xdata,0)
        y = round(event.ydata,0)
        tmp = int(x*(y_max) + y)
        if colors[tmp] == (0,0,0,1):
            colors[tmp] = (0.5,0.5,0.5,1)
        elif colors[tmp] == (0.5,0.5,0.5,1):
            colors[tmp] = (0,0,0,1)
        art.set_facecolor(colors)
        plt.draw()


    plt.connect('button_press_event', onclick)

    plt.show()

Recommended Posts

Je veux changer la couleur en cliquant sur le point de dispersion dans matplotlib
Je veux intégrer Matplotlib dans PySimpleGUI
Je veux afficher la progression en Python!
J'ai essayé de prédire l'évolution de la quantité de neige pendant 2 ans par apprentissage automatique
Je veux écrire en Python! (3) Utiliser des simulacres
Je veux utiliser le jeu de données R avec python
Je souhaite enregistrer les photos envoyées par LINE vers S3
Je veux changer le drapeau japonais en drapeau des Palaos avec Numpy
Je veux rendre le type de dictionnaire dans la liste unique
Je veux aligner les nombres valides dans le tableau Numpy
Remarques sur la coloration par valeur dans le diagramme de dispersion matplotlib
Je ne voulais pas écrire la clé AWS dans le programme
[Linux] Je souhaite connaître la date à laquelle l'utilisateur s'est connecté
Comment changer la couleur du seul bouton pressé avec Tkinter
Développement LINEbot, je souhaite vérifier le fonctionnement dans l'environnement local
Je veux faire de la deuxième ligne le nom de la colonne dans pandas
Je veux réussir le test G dans un mois Jour 1
Je veux connaître la population de chaque pays du monde.
Je veux créer un graphique avec des lignes ondulées au milieu avec matplotlib (je veux manipuler l'impression)
Je veux épingler Spyder à la barre des tâches
Je veux sortir froidement sur la console
Spécifiez la couleur dans la carte 2D matplotlib
Je veux imprimer dans la notation d'inclusion
Je veux gérer la rime part1
Je veux gérer la rime part3
Je veux afficher la barre de progression
Comment changer la couleur de l'éditeur dans PyCharm
Je veux gérer la rime part2
Je veux gérer la rime part5
Je veux gérer la rime part4
(Matplotlib) Je veux dessiner un graphique avec une taille spécifiée en pixels
[Langage C] Je souhaite générer des nombres aléatoires dans la plage spécifiée
Je veux convertir par lots le résultat de "chaîne de caractères" .split () en Python
Je veux expliquer en détail la classe abstraite (ABCmeta) de Python
Je souhaite trier une liste dans l'ordre des autres listes
Je souhaite utiliser Django Debug Toolbar dans les applications Ajax
Je veux colorer une partie de la chaîne Excel avec Python
[Google Colab] Je souhaite afficher plusieurs images côte à côte dans une vignette
Je souhaite laisser une commande arbitraire dans l'historique des commandes de Shell
Si vous voulez être guéri par l'image de Mia Nanasawa, appuyez sur l'API Twitter ♪
Je veux faire de matplotlib un thème sombre
Je veux visualiser où et combien de personnes se trouvent dans l'usine
Je veux faire le test de Dunnett en Python
Je veux corriger Datetime.now dans le test de Django
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
Je veux créer une fenêtre avec Python
[Django memo] Je souhaite définir à l'avance les informations de l'utilisateur connecté dans le formulaire.
Je souhaite afficher plusieurs images avec matplotlib.
Je veux gérer la rime part7 (BOW)
Je souhaite stocker les informations de la base de données dans la liste
Modifiez le point décimal de la journalisation de, à.
Je veux fusionner des dictionnaires imbriqués en Python
Je souhaite définir un cycle de vie dans la définition de tâche d'ECS
Je veux gérer systemd par fuseau horaire! !!
Je souhaite voir une liste de fichiers WebDAV dans le module Requêtes
Lien vers les points de données du graphe créé par jupyterlab & matplotlib
Je souhaite stocker les résultats de% time, %% time, etc. dans un objet (variable)
Je souhaite vendre les produits que j'ai listés par python scraping Mercari
Je veux obtenir le nom du fichier, le numéro de ligne et le nom de la fonction dans Python 3.4