Pour la version avancée, accédez à ici https://qiita.com/coffiego/items/dfabde5f8588723b32d6
Je suis actuellement étudiant en master de deuxième année. J'étudie l'atmosphère de Mars à l'aide de la simulation numérique. J'analysais les résultats obtenus par simulation numérique principalement en utilisant Python, j'ai donc essayé de résumer toutes les fonctions utilisées dans le processus. Veuillez noter qu'il n'est pas exhaustif. .. .. Je viens de regarder la documentation et j'ai eu du mal à l'utiliser, donc j'espère que si quelqu'un va utiliser les outils de visualisation de Python, cela aidera!
Puisqu'il s'agit d'une édition de base, cet article ne traite que des fonctions de base. Cet article décrit tous les éléments qui dessinent le graphique ci-dessous. Le dernier exemple de code se trouve au bas de l'article. (Si vous voulez vous rappeler comment tracer, je pense que cet échantillon est suffisant)
Les bibliothèques utilisées dans cet article sont les suivantes. Il n'y a aucun problème si vous copiez et collez le code suivant sur le code pour le moment.
import matplotlib.pyplot as plt #En fait, tracer
import numpy as np #Organiser les données
Parce que c'est une édition basique
Je pense que c'est beaucoup dans d'autres articles, mais je vais le laisser comme base pour le moment. C'est le plus élémentaire. Tracez les données x sur l'axe horizontal et les données y sur l'axe vertical.
import matplotlib.pyplot as plt #En fait, tracer
import numpy as np #Organiser les données
X = np.linspace(1,10,num=10) #1 à 10 num=Faites une rangée divisée en 10 parties égales[1,2,3,,,,10]
#X = [1,2,3,4,5,6,7,8,9,10]Pareil que
Y = np.random.rand(10) #nombre aléatoire(0~1)Génère une colonne de taille 10 composée de
plt.plot(X,Y)#terrain
La base est plt.plot (colonne de données 1, colonne de données 2). C'est sale parce que je trace juste les nombres aléatoires, mais je peux faire un graphique comme celui-ci.
Dans ce qui suit, tracez y = x ^ 2
def fun(x):
y = x**2 #Écrivez votre propre fonction ici
#ex)
#y = np.sin(x)
#y = np.log(x)
return y
X = np.linspace(1,10,num=10) #1 à 10 num=Faites une rangée divisée en 10 parties égales[1,2,3,,,,10]
Y = fun(X) #Créer une colonne de données y
plt.plot(X, Y)#terrain
#plt.plot(colonne de x,colonne de y,options)Peut être tracé avec
Je me sens comme cela.
--Couleur --Légende (réglage de la position, taille)
Pour changer la couleur de la ligne, ajoutez les options suivantes.
plt.plot(X,Y,color='k') #k est noir
Changez simplement la partie de color = 'k'. Seules les couleurs de base sont répertoriées ci-dessous. Veuillez consulter ce document officiel pour une liste de nombreuses couleurs.
Vous pouvez le faire avec:
plt.legend(loc='lower right',prop={'size':15})
import matplotlib.pyplot as plt #En fait, tracer
import numpy as np #Organiser les données
def fun(x):
y = 2*x #Écrivez votre propre fonction ici
return y
X = np.linspace(1,10,num=100) #1 à 10 num=Faites une rangée divisée en 100 parties égales
Y1 = fun(X)
Y2 = 20*np.sin(X) #y=20sin(x)
plt.plot(X,Y1,color='b',label='your original')#Tracer Y1
plt.plot(X,Y2,color='r', label='sin')#Tracer Y2
plt.legend(loc='lower right',prop={'size':15})#C'est la légende
La taille peut être modifiée avec prop = {'size': 15}. La position de la légende peut être modifiée avec loc = 'en bas à droite'. Il peut être placé dans la position approximative indiquée ci-dessous. Cliquez ici pour plus de détails
L'échantillon ressemble à ceci. Vous pouvez ajouter une légende avec plt.legend ().
Étiquette d'axe ajoutée
plt.xlabel('xaxis',size='10') #Ajouter une étiquette sur l'axe des x, size='À la taille que vous aimez'
plt.ylable('yaxis',size='10') #Ajouter une étiquette à l'axe y
Réglage de l'axe (plage, échelle, taille de l'échelle)
#intervalle
plt.xlim((0,10)) #Gamme de x: 0-10
plt.ylim((0,20)) #Gamme de y:0-20
#Échelle logarithmique
plt.xscale('log')#x à logscale
plt.yscale('log')#logscale y
#Réglage de la taille de l'échelle
plt.tick_params(labelsize=12) #labelsize=À la taille que vous aimez
Ceci est un exemple de code que j'ai ajouté de différentes manières.
import matplotlib.pyplot as plt #En fait, tracer
import numpy as np #Organiser les données
def fun(x):
y = 2**x #Écrivez votre propre fonction ici
return y
X = np.linspace(1,10,num=100) #1 à 10 num=Faites une rangée divisée en 100 parties égales
Y1 = fun(X)
Y2 = np.exp(X)
plt.plot(X,Y1,color='b',label=r'$y=2^x$')#terrain
plt.plot(X,Y2,color='r', label=r'$y=e^x$')
plt.legend(loc='lower right',prop={'size':18}) #Ajouter une légende
plt.xlabel('xaxis',size='20') #Ajouter une étiquette sur l'axe des x, size='À la taille que vous aimez'
plt.ylabel('yaxis',size='20') #Ajouter une étiquette à l'axe y
plt.xlim((0,10)) #Gamme de x: 0-10
plt.ylim((0,100)) #Gamme de y:0-20
plt.tick_params(labelsize=15) #labelsize=À la taille que vous aimez
Cela devrait ressembler au graphique ci-dessous.
En fait, j'ai ajouté une formule à l'étiquette de caractère dans l'exemple de code ci-dessus.
plt.plot(X,Y1,color='b',label=r'$y=2^x$')#terrain
Pour mettre une formule dans les lettres de l'étiquette,
label=r'$Formule$'
Vous pouvez insérer une formule en écrivant comme ceci. Cette formule est au format Latex.
C'est une option pour en faire une ligne brisée ou afficher des points de données au lieu d'une simple ligne.
Est utilisé. Voici un exemple.
#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=':')#terrain
plt.plot(X,Y2,linestyle='-.',label='-.')
plt.plot(X,Y3,linestyle='--',label='--')
plt.plot(X,Y4,linestyle='-',label='-')
plt.legend(prop={'size':18})
#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')#Changer la taille avec Markersize
plt.plot(X,Y3,marker='1',markersize='14',label='1')
plt.plot(X,Y4,marker='*',markersize='16',label='*')
plt.legend(prop={'size':18})
Il existe de nombreux types de marqueurs dans les Documents officiels.
Il y a des moments où vous voulez écrire des caractères directement sur un graphique au lieu d'une légende, non? C'est utile dans un tel cas
#Coordonner(x,y)À'lettre'À'Taille préférée'Insérer dans la taille de
plt.text(x,y,'lettre',size='Taille préférée') #x:coordonnée x y:coordonnée y
est. Ceci est un exemple de code.
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') #Ajouter une étiquette sur l'axe des x, size='À la taille que vous aimez'
plt.ylabel('yaxis') #Ajouter une étiquette à l'axe y
C'est facile!
# Exemple de code final
```python
#Échantillon final
import matplotlib.pyplot as plt #En fait, tracer
import numpy as np #Organiser les données
def fun(x): y = 2**x #Écrivez votre propre fonction ici return y
plt.figure(dpi=100) #résolution(dpi)changement
X = np.linspace(1,10,num=50) #1 à 10 num=Faites une rangée divisée en 100 parties égales
Y1 = fun(X)#Créer des données Y
Y2 = np.exp(X)
plt.plot(X,Y1,color='g',label=r'
Ce sera comme suit!
<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 ">
# finalement
Dans cet article, je n'ai pas traité de choses de niche telles que l'animation et les versions à deux axes car il s'agit d'une édition de base. Dans la prochaine application
--Axe
--Animation (création d'un fichier gif)
- graphique de contour
- Lecture et écriture de fichiers csv
- Lecture et exportation de fichiers HDF5
Je voudrais résumer de telles choses!
Puis!
[Une addition]
Application 1: https://qiita.com/coffiego/items/dfabde5f8588723b32d6
Est fait!
Recommended Posts