Um Zeit damit zu verbringen, mit Python gezeichnete Figuren zu färben

Formen mit Matplotlib färben

Beim Zeichnen mehrerer Figuren mit matplotlib Ich habe versucht herauszufinden, wie man nicht "rot" oder "blau" einzeln angibt.

Einführung Zeichnen einer Figur mit Matplotlib-Füllung

import matplotlib
import matplotlib.pyplot as plt
import numpy as np


#Grafische Datenerstellung
#Basisquadrat
x=np.array([-0.5,0.5,0.5,-0.5])
y=np.array([0,0,1,1])

#Bereiten Sie N Quadrate vor
N=3
#Anzahl der Spalten
cn=10
xl=list()
yl=list()
for i in range(N):
  xl.append(x+1.2*(i%cn))
  yl.append(y-1.2*int(i/cn))

#Zeichnung
fig = plt.figure()
ax = fig.add_subplot(111)
plt.axes().set_aspect('equal')

poly = plt.fill(xl[0],yl[0],fc="red")#Hier"red"Was tun, wenn Sie nicht schreiben möchten?
poly = plt.fill(xl[1],yl[1],fc="green")
poly = plt.fill(xl[2],yl[2],fc="blue")

plt.show()

cap1.PNG

Wie oben erwähnt, ist es in Ordnung, wenn es nur 3 Arten von Figuren gibt, aber ich kann mir nicht vorstellen, wie viele Farben entsprechend der Anzahl der Figuren verwendet werden sollen, oder "rot", "grün", "blau" angeben. Es muss einen guten Weg geben, nur nicht zu wissen ...

Wenn Sie 10 oder weniger Zahlen verwenden, ist es schön, tab10 zu verwenden

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

#Basisquadrat
x=np.array([-0.5,0.5,0.5,-0.5])
y=np.array([0,0,1,1])

#Bereiten Sie N Quadrate vor
N=10
#Anzahl der Spalten
cn=10
xl=list()
yl=list()
for i in range(N):
  xl.append(x+1.2*(i%cn))
  yl.append(y-1.2*int(i/cn))

cmap = plt.get_cmap("tab10") #Geben Sie hier den Farbkartentyp an
print(cmap)
#Zeichnung
fig = plt.figure()
ax = fig.add_subplot(111)
plt.axes().set_aspect('equal')

for xx,yy,cc in zip(xl,yl,range(N)):
  poly = plt.fill(xx,yy,fc=cmap(cc))


cap2.PNG

Eine feste Farbkarte wird im Pyplot von Matplotlib erstellt. Sie können es mit der Funktion get_cmap aufrufen. Zusätzlich zu ** tab10 ** scheint ** Set1 ** als Typ der Farbkarte einfach zu verwenden zu sein.

Details werden in den folgenden Artikeln ausführlich beschrieben. Verschiedene Möglichkeiten, die N-te Farbe des Farbzyklus mit matplotlib anzugeben

In der Referenz finden Sie, welche Art von Karte verfügbar ist. color example code: colormaps_reference.py

Was tun, wenn Sie sogar 10 oder mehr schön herausbringen möchten?

Versuchen Sie, Ihre eigene Farbkarte zu erstellen

Ich brauche vielleicht nicht mehr als 10, aber ich habe mir überlegt, was ich tun soll.

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import colorsys

#Basisquadrat
x=np.array([-0.5,0.5,0.5,-0.5])
y=np.array([0,0,1,1])

#Bereiten Sie N Quadrate vor
N=20
#Anzahl der Spalten
cn=5
xl=list()
yl=list()
for i in range(N):
  xl.append(x+1.2*(i%cn))
  yl.append(y-1.2*int(i/cn))

#Farbkartenerstellung==========================
hexs=list()
for i in range(N):
  rgb=colorsys.hsv_to_rgb(i/N, 1, 1)#(h,s,v)Zu(r,g,b)Umstellung auf
  hexs.append(matplotlib.colors.rgb2hex(rgb))#(r,g,b)Hexadezimaler Farbcode

#Zeichnung
fig = plt.figure()
ax = fig.add_subplot(111)
plt.axes().set_aspect('equal')

for xx,yy,cc in zip(xl,yl,hexs):
  poly = plt.fill(xx,yy,fc=cc)

plt.show()

cap3.PNG

Einfache gleichmäßige Aufteilung des Farbtons

RGB ist mit der Farbe vertraut, die dadurch ausgedrückt wird, wie stark die drei Komponenten Rot, Grün und Blau gemischt sind. Es gibt jedoch einen Ausdruck namens HSV, der wiederum durch Farbton und Helligkeit ausgedrückt wird. Versuchen Sie, durch gleichmäßige Verteilung des Farbtons eine Farbkarte beliebiger Größe mit verschiedenen Farben zu erstellen.

Im Folgenden finden Sie eine leicht verständliche Erklärung des HSV HSV-Farbraum

Zusammenfassung

Grundsätzlich scheint es kein Problem zu geben, wenn Sie mit tab10 eingeben. Die selbst erstellte Farbkarte kann auf den ersten Blick schön aussehen. Ich denke nicht, dass Grün von dem mit der jüngeren Zahl nicht zu unterscheiden ist, wenn es tatsächlich verwendet wird.

Ich möchte bearbeiten, wenn es einen besseren Weg gibt.

(Als ich untersuchte, wie man ein Farbschema erstellt, das leicht zu erkennen ist, scheint es ein *** universelles Farbdesign *** zu geben.)

Recommended Posts

Um Zeit damit zu verbringen, mit Python gezeichnete Figuren zu färben
So messen Sie die Ausführungszeit mit Python Teil 1
So messen Sie die Ausführungszeit mit Python Part 2
So messen Sie die Wiedergabezeit von MP3-Dateien mit Python
Stellen Sie mit Python eine Verbindung zu BigQuery her
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
Messung der Ausführungszeit mit Python With
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
Zeitsynchronisation (Windows) mit Python
Ich habe ein Paket erstellt, um Zeitreihen mit Python zu filtern
Python: So verwenden Sie Async mit
Link, um mit Python zu beginnen
[Python] Mit Python in eine CSV-Datei schreiben
Versuchen Sie, Facebook mit Python zu betreiben
Ausgabe in eine CSV-Datei mit Python
Konvertieren Sie die Liste mit Python in DataFrame
MP3 → WAV-Konvertierung mit Python
Schwanzrekursion mit Python2 durchführen
Erste Schritte mit Python
Python (vom ersten Mal bis zur Ausführung)
Was tun mit PYTHON Release?
So berechnen Sie das Datum mit Python
Mit Python 3 einfach auf Twitter posten
Ich möchte mit Python debuggen
So schreiben Sie offline in Echtzeit Lösen von F01-Problemen mit Python
So berechnen Sie "xx time" in einem Schuss mit Python timedelta
Herausforderung beim Erstellen eines Zeitachsenlistenberichts mit der Toggl-API und Python
Wie man offline in Echtzeit schreibt Ich habe versucht, E11 mit Python zu lösen
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Wie zeichnet man eine vertikale Linie auf einer Heatmap, die mit Python Seaborn gezeichnet wurde?
Wie man offline in Echtzeit schreibt Ich habe versucht, E12 mit Python zu lösen
Versuchen Sie, Farbfilme mit Python zu reproduzieren
Versuchen Sie, sich mit Python bei qiita anzumelden
Ändern Sie die Python 64-Bit-Umgebung mit Anaconda in eine 32-Bit-Umgebung
Englische Spracherkennung mit Python [Rede zu Text]
HTML-Mail mit Bild zum Senden mit Python
Memo, um nach KPI mit Python zu fragen
Python nur mit Hallo, Welten zu erinnern
Geben Sie Farbzeichen mit Python zu hübsch aus
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
Python-Protokoll mit GAE an die Konsole ausgeben
Privates Python-Handbuch (von Zeit zu Zeit aktualisiert)
Konvertieren Sie Excel-Daten mit Python in JSON
Konvertiere Hiragana mit Python (Beta) in Romaji
Fraktal zum Erstellen und Spielen mit Python
Ich wollte ABC160 mit Python lösen
Dekorateur zur Vermeidung von UnicodeEncodeError in Python 3 print ()
Stellen Sie mit Python in Docker eine Verbindung zu MySQL her
Einzelpixel-Kamera zum Erleben mit Python
Ich möchte Protokolle mit Python analysieren
Wie man einen Taschentest mit Python macht
Ich möchte mit aws mit Python spielen
So zeigen Sie Python-Japanisch mit Lolipop an
Versuch, SQLite3 mit Python zu handhaben [Hinweis]