Ich habe versucht, alle Python-Diagramme zusammenzufassen, die von aktiven Doktoranden in der Forschung verwendet wurden [Basic]

Eine erweiterte Version finden Sie unter hier. https://qiita.com/coffiego/items/dfabde5f8588723b32d6

Einführung

Ich bin derzeit ein Masterstudent im zweiten Jahr. Ich untersuche die Atmosphäre des Mars mithilfe einer numerischen Simulation. Ich habe die Ergebnisse der numerischen Simulation hauptsächlich mit Python analysiert und versucht, alle im Prozess verwendeten Funktionen zusammenzufassen. Bitte beachten Sie, dass es nicht erschöpfend ist. .. .. Ich habe mir gerade die Dokumentation angesehen und mich bemüht, sie zu verwenden. Wenn also jemand die Visualisierungstools von Python verwenden möchte, hoffe ich, dass dies hilfreich ist!

Ziel

Da es sich um eine Basisausgabe handelt, werden in diesem Artikel nur die Grundfunktionen behandelt. Dieser Artikel beschreibt alle Elemente, die das folgende Diagramm zeichnen. Der endgültige Beispielcode befindet sich am Ende des Artikels. (Wenn Sie sich daran erinnern möchten, wie man zeichnet, denke ich, dass dieses Beispiel ausreicht) Screen Shot 2020-03-18 at 17.55.44.png

Bibliothek zu verwenden

Die in diesem Artikel verwendeten Bibliotheken lauten wie folgt. Es ist kein Problem, wenn Sie den folgenden Code vorerst kopieren und in den Code einfügen.

import matplotlib.pyplot as plt #Eigentlich Handlung
import numpy as np #Daten organisieren

Eigentlich Handlung

Weil es eine Basisausgabe ist

1. Zeichnen Sie die Daten 1 [x1, x2, x3 ,,,] und die Daten 2 [y1, y2, y3 ,,,] auf der horizontalen und vertikalen Achse.
2. Zeichnen Sie y = f (x)
3. Erläuterung der Optionen für die Grundstücksdekoration (Farbe, Linientyp usw.)

1. Zeichnen Sie [x ,,,] und [y ,,,]

Ich denke, das ist viel in anderen Artikeln, aber ich werde es vorerst als Grundlage belassen. Dies ist das grundlegendste. Zeichnen Sie die Daten x auf der horizontalen Achse und die Daten y auf der vertikalen Achse.

import matplotlib.pyplot as plt #Eigentlich Handlung
import numpy as np #Daten organisieren

X = np.linspace(1,10,num=10) #1 bis 10 num=Machen Sie eine Reihe in 10 gleiche Teile geteilt[1,2,3,,,,10]
#X = [1,2,3,4,5,6,7,8,9,10]Gleich wie
Y = np.random.rand(10) #Zufallszahl(0~1)Erzeugt eine Spalte der Größe 10 bestehend aus

plt.plot(X,Y)#Handlung

Die Basis ist plt.plot (Spalte Daten 1, Spalte Daten 2). Es ist schmutzig, weil ich nur die Zufallszahlen zeichne, aber ich kann ein Diagramm wie dieses erstellen. Screen Shot 2020-03-18 at 14.41.25.png

2. Zeichnen Sie y = f (x)

Zeichnen Sie im Folgenden y = x ^ 2

def fun(x): 
    y = x**2 #Schreiben Sie hier Ihre eigene Funktion
    #ex)
    #y = np.sin(x)
    #y = np.log(x)
    return y

X = np.linspace(1,10,num=10) #1 bis 10 num=Machen Sie eine Reihe in 10 gleiche Teile geteilt[1,2,3,,,,10]
Y = fun(X) #Datenspalte erstellen y
plt.plot(X, Y)#Handlung
#plt.plot(Spalte von x,Spalte von y,options)Kann mit geplottet werden

Ich fühle mich so. Screen Shot 2020-03-18 at 14.27.36.png

3. Verschiedene Handlungsoptionen! (Dies ist die Haupt lol)

--Farbe --Legend (Positionsanpassung, Größe)

· Linienfarbe

Fügen Sie die folgenden Optionen hinzu, um die Linienfarbe zu ändern.

plt.plot(X,Y,color='k') #k ist schwarz

Ändern Sie einfach den Teil von color = 'k'. Im Folgenden sind nur die Grundfarben aufgeführt. Screen Shot 2020-03-18 at 15.03.05.png Eine Liste mit vielen Farben finden Sie in diesem offiziellen Dokument.

・ Legende (Etikett)

Sie können es tun mit:

plt.legend(loc='lower right',prop={'size':15})
import matplotlib.pyplot as plt #Eigentlich Handlung
import numpy as np #Daten organisieren
def fun(x): 
    y = 2*x #Schreiben Sie hier Ihre eigene Funktion
    return y
X = np.linspace(1,10,num=100) #1 bis 10 num=Machen Sie eine Reihe in 100 gleiche Teile geteilt
Y1 = fun(X)
Y2 = 20*np.sin(X) #y=20sin(x)
plt.plot(X,Y1,color='b',label='your original')#Plot Y1
plt.plot(X,Y2,color='r', label='sin')#Plot Y2
plt.legend(loc='lower right',prop={'size':15})#Das ist die Legende

Die Größe kann mit prop = {'size': 15} geändert werden. Die Position der Legende kann mit loc = 'unten rechts' geändert werden. Es kann wie unten gezeigt in die ungefähre Position gebracht werden. Screen Shot 2020-03-18 at 15.33.57.png Klicken Sie hier für Details

Das Beispiel sieht so aus. Sie können eine Legende mit plt.legend () hinzufügen. Screen Shot 2020-03-18 at 15.23.07.png

- Achsenbeschriftung hinzufügen und Achse anpassen (Bereich, Zeichengröße, Protokollskala, Skala)

Achsenbeschriftung hinzugefügt

plt.xlabel('xaxis',size='10') #Beschriftung auf der x-Achse hinzufügen, size='Auf die Größe, die Sie mögen'
plt.ylable('yaxis',size='10') #Beschriftung zur y-Achse hinzufügen

Achseneinstellung (Bereich, Skala, Skalengröße)

#Reichweite
plt.xlim((0,10)) #Bereich von x: 0-10
plt.ylim((0,20)) #Bereich von y:0-20
#logarithmische Darstellung
plt.xscale('log')#x zu logscale
plt.yscale('log')#logscale y
#Anpassung der Skalengröße
plt.tick_params(labelsize=12) #labelsize=Auf die Größe, die Sie mögen

Dies ist ein Beispielcode, den ich auf verschiedene Arten hinzugefügt habe.

import matplotlib.pyplot as plt #Eigentlich Handlung
import numpy as np #Daten organisieren
def fun(x): 
    y = 2**x #Schreiben Sie hier Ihre eigene Funktion
    return y

X = np.linspace(1,10,num=100) #1 bis 10 num=Machen Sie eine Reihe in 100 gleiche Teile geteilt
Y1 = fun(X)
Y2 = np.exp(X)
plt.plot(X,Y1,color='b',label=r'$y=2^x$')#Handlung
plt.plot(X,Y2,color='r', label=r'$y=e^x$')
plt.legend(loc='lower right',prop={'size':18}) #Legende hinzufügen
plt.xlabel('xaxis',size='20') #Beschriftung auf der x-Achse hinzufügen, size='Auf die Größe, die Sie mögen'
plt.ylabel('yaxis',size='20') #Beschriftung zur y-Achse hinzufügen
plt.xlim((0,10)) #Bereich von x: 0-10
plt.ylim((0,100)) #Bereich von y:0-20
plt.tick_params(labelsize=15) #labelsize=Auf die Größe, die Sie mögen

Es sollte wie in der Grafik unten aussehen. Screen Shot 2020-03-18 at 17.05.02.png

・ Tragen Sie eine Formel auf das Etikett ein

Eigentlich habe ich der Zeichenbezeichnung im obigen Beispielcode eine Formel hinzugefügt.

plt.plot(X,Y1,color='b',label=r'$y=2^x$')#Handlung

Um eine Formel in die Buchstaben des Etiketts einzufügen,

label=r'$Formel$'

Sie können eine Formel einfügen, indem Sie wie folgt schreiben. Diese Formel ist im Latex-Format.

・ Leitungstyp

Es ist eine Option, eine unterbrochene Linie zu erstellen oder Datenpunkte anstelle nur einer Linie anzuzeigen.

Wird genutzt. Hier ist ein Beispiel.

#linestyle
X = np.linspace(1,10,num=100)
Y1=X
Y2=2*X
Y3=3*X
Y4=4*X
Y5=5*X
plt.plot(X,Y1,linestyle=':',label=':')#Handlung
plt.plot(X,Y2,linestyle='-.',label='-.')
plt.plot(X,Y3,linestyle='--',label='--')
plt.plot(X,Y4,linestyle='-',label='-')
plt.legend(prop={'size':18})
Screen Shot 2020-03-18 at 17.20.56.png
#Add marker
X = np.linspace(1,10,num=10)
Y1=X
Y2=2*X
Y3=3*X
Y4=4*X
Y5=5*X
plt.plot(X,Y1,marker='.',markersize='10',label='.')#adding marker
plt.plot(X,Y2,marker='v',markersize='12',label='v')#Ändern Sie die Größe mit Markierungsgröße
plt.plot(X,Y3,marker='1',markersize='14',label='1')
plt.plot(X,Y4,marker='*',markersize='16',label='*')
plt.legend(prop={'size':18})
Screen Shot 2020-03-18 at 17.31.21.png

Es gibt viele Markertypen in den offiziellen Dokumenten.

・ Fügen Sie Zeichen direkt in das Diagramm ein

Es gibt Zeiten, in denen Sie Zeichen direkt in ein Diagramm anstelle einer Legende schreiben möchten, oder? In einem solchen Fall ist es nützlich

#Koordinate(x,y)Zu'Brief'Zu'Lieblingsgröße'In der Größe von einfügen
plt.text(x,y,'Brief',size='Lieblingsgröße') #x:x-Koordinate y:y-Koordinate

ist. Dies ist ein Beispielcode.

X = np.linspace(1,10,num=100)
Y=X
plt.plot(X,Y)
plt.text(2,2,'(2,2)',size='10')
plt.text(4,8,'(4,8)',size='15')
plt.text(8,3,'(8,3)',size='20')
plt.xlabel('xaxis') #Beschriftung auf der x-Achse hinzufügen, size='Auf die Größe, die Sie mögen'
plt.ylabel('yaxis') #Beschriftung zur y-Achse hinzufügen
Screen Shot 2020-03-18 at 17.43.35.png Es ist einfach! # Endgültiger Beispielcode ```python #Endprobe import matplotlib.pyplot as plt #Eigentlich Handlung import numpy as np #Daten organisieren

def fun(x): y = 2**x #Schreiben Sie hier Ihre eigene Funktion return y

plt.figure(dpi=100) #Auflösung(dpi)Veränderung X = np.linspace(1,10,num=50) #1 bis 10 num=Machen Sie eine Reihe in 100 gleiche Teile geteilt Y1 = fun(X)#Daten erstellen Y. Y2 = np.exp(X) plt.plot(X,Y1,color='g',label=r'y=2^x', linestyle='-.')#Handlung plt.plot(X,Y2,color='r', label=r'y=e^x', marker='*',markersize='16')#Handlung plt.legend(loc='lower right',prop={'size':18}) plt.xlabel('xaxis',size='20') #Beschriftung auf der x-Achse hinzufügen, size='Auf die Größe, die Sie mögen' plt.ylabel('yaxis',size='20') #Beschriftung zur y-Achse hinzufügen plt.xlim((0,10)) #Bereich von x: 0-10 plt.ylim((0,100)) #Bereich von y:0-20 plt.tick_params(labelsize=15) #labelsize=Auf die Größe, die Sie mögen plt.text(6,50,r'y=2^x',size='15',color='g') #add text plt.text(1,20,r'y=e^x',size='15',color='r') #add text plt.text(1,80,'Good luck!',size='15',color='k')

 Es wird wie folgt sein!
 <img width="581" alt="Screen Shot 2020-03-18 at 17.55.44.png " src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199901/473ac50b-6cd4-467c-5071-0bce96de0224.png ">

# Schließlich
 In diesem Artikel habe ich mich nicht mit Nischen wie Animationen und zweiachsigen Versionen befasst, da es sich um eine Basisversion handelt. In der nächsten Anwendung

 --Achse
 --Animation (Erstellen einer GIF-Datei)
 - Konturdiagramm
 - Lesen und Schreiben von CSV-Dateien
 - Lesen und Exportieren von HDF5-Dateien

 Ich möchte solche Dinge zusammenfassen!
 Dann!

 [Zusatz]
 Anwendung 1: https://qiita.com/coffiego/items/dfabde5f8588723b32d6
 Ist fertig!


Recommended Posts

Ich habe versucht, alle Python-Diagramme zusammenzufassen, die von aktiven Doktoranden in der Forschung verwendet wurden [Basic]
Ich habe versucht, alle Python-Visualisierungstools zusammenzufassen, die von aktiven Doktoranden in der Forschung verwendet wurden [Anwendung]
Ich habe versucht, den in Pandas häufig verwendeten Code zusammenzufassen
Ich habe versucht, die im Geschäftsleben häufig verwendeten Befehle zusammenzufassen
Ich habe versucht, die Befehle zusammenzufassen, die Anfängeringenieure heute verwenden
Ich habe versucht, den Inhalt jedes von Python pip gespeicherten Pakets in einer Zeile zusammenzufassen
[Python] Ich habe versucht, den kollektiven Typ (Satz) auf leicht verständliche Weise zusammenzufassen.
Ich habe versucht, die Linux-Befehle zusammenzufassen, die heute von Anfängeringenieuren verwendet werden - Teil 1-
Ich habe versucht, die Methoden zusammenzufassen, die häufig bei der grundlegenden Algo-Implementierung in Quantx Factory verwendet werden
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
Ich habe versucht, die Grundform von GPLVM zusammenzufassen
Ich habe versucht zusammenzufassen, wie man Pandas von Python benutzt
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren
Ich habe versucht zusammenzufassen, was der Python-starke Mann in der professionellen Nachbarschaft des Wettbewerbs tut
Ich habe versucht, die häufig verwendete Implementierungsmethode von pytest-mock zusammenzufassen
Ich habe versucht, die Behandlung von Python-Ausnahmen zusammenzufassen
Ich habe versucht, PLSA in Python zu implementieren
Ich habe versucht, den Befehl umask zusammenzufassen
Ich habe versucht, Permutation in Python zu implementieren
Ich habe versucht, PLSA in Python 2 zu implementieren
Python3-Standardeingabe habe ich versucht zusammenzufassen
Ich habe versucht, die grafische Modellierung zusammenzufassen.
Ich habe versucht, ADALINE in Python zu implementieren
Ich habe versucht, PPO in Python zu implementieren
Ich habe versucht, Python zu berühren (grundlegende Syntax)
Ich habe versucht, den allgemeinen Ablauf bis zur Erstellung von Diensten selbst zusammenzufassen.
Ich habe versucht, die Bayes'sche lineare Regression durch Gibbs-Sampling in Python zu implementieren
Ich habe versucht, die Beschleunigung von Python durch Cython zu verifizieren und zu analysieren
Ich habe versucht, die Neujahrskarte selbst mit Python zu analysieren
Ich habe versucht, die beim maschinellen Lernen verwendeten Bewertungsindizes zu organisieren (Regressionsmodell).
Lesen aller in * .py enthaltenen Klassen in dem von Python angegebenen Verzeichnis
Ich habe versucht, "Birthday Paradox" mit Python zu simulieren
Ich habe die Methode der kleinsten Quadrate in Python ausprobiert
Ich habe versucht, die Operationen zusammenzufassen, die wahrscheinlich mit numpy-stl verwendet werden
Ich habe versucht, TOPIC MODEL in Python zu implementieren
Ich habe versucht, das Datetime-Modul von Python zu verwenden
Ich habe versucht, die Veränderung der Schneemenge für 2 Jahre durch maschinelles Lernen vorherzusagen
Ich habe versucht, eine selektive Sortierung in Python zu implementieren
LeetCode Ich habe versucht, die einfachen zusammenzufassen
Ich möchte den Fortschritt in Python anzeigen!
[Einführung in Docker] Ich habe versucht, verschiedene Docker-Kenntnisse zusammenzufassen, die durch das Studium gewonnen wurden (Windows / Python).
[Erste Datenwissenschaft ⑤] Ich habe versucht, meinem Freund zu helfen, die erste Eigenschaft durch Datenanalyse zu finden
Ich habe versucht, die neuen mit dem Corona-Virus infizierten Menschen in Ichikawa City, Präfektur Chiba, zusammenzufassen
[Erste Datenwissenschaft ⑥] Ich habe versucht, den Marktpreis von Restaurants in Tokio zu visualisieren
Ich habe Python verwendet, um mich über die Rollenauswahl der 51 "Yachten" in der Welt zu informieren.
[Python] Ich habe versucht, das Array, die Wörterbuchgenerierungsmethode, die Schleifenmethode und die Listeneinschlussnotation zusammenzufassen
Ich habe versucht zusammenzufassen, wie man Matplotlib von Python verwendet
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Ich habe versucht, Drakues Poker in Python zu implementieren
Ich habe versucht, GA (genetischer Algorithmus) in Python zu implementieren
[Python] Ich habe versucht, die Top 10 der Lidschatten grafisch darzustellen
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich möchte R-Datensatz mit Python verwenden
Python Open CV hat versucht, das Bild im Text anzuzeigen.
Django super Einführung von Python-Anfängern! Teil 6 Ich habe versucht, die Login-Funktion zu implementieren
Ich habe eine Klasse erstellt, um das Analyseergebnis von MeCab in ndarray mit Python zu erhalten