Pourquoi enseignez-vous habituellement la visualisation !!!! Voilà pourquoi
Je veux faire évoluer la fonction OP !!
Créez une fonction pour dessiner une belle courbe ʻOP` avec matplotlib de langage Python Faites de la visualisation.
De plus, ce n'est pas intéressant s'il ne s'agit que d'une image fixe Il a la fonction d'ipywidgets.
Beyond Beyond se déplace lorsque le nombre «t» est modifié.
import numpy as np
import matplotlib.pyplot as plt
from ipywidgets import interact, FloatSlider, IntSlider
import warnings
warnings.simplefilter('ignore')
%matplotlib inline
def oppai(y,t):
x_1 = (1.5 * np.exp((0.12*np.sin(t)-0.5) * (y + 0.16 *np.sin(t)) ** 2)) / (1 + np.exp(-20 * (5 * y + np.sin(t))))
x_2 = ((1.5 + 0.8 * (y + 0.2*np.sin(t)) ** 3) * (1 + np.exp(20 * (5 * y +np.sin(t)))) ** -1)
x_3 = (1+np.exp(-(100*(y+1)+16*np.sin(t))))
x_4 = (0.2 * (np.exp(-(y + 1) ** 2) + 1)) / (1 + np.exp(100 * (y + 1) + 16*np.sin(t)))
x_5 = (0.1 / np.exp(2 * (10 * y + 1.2*(2+np.sin(t))*np.sin(t)) ** 4))
x = x_1 + (x_2 / x_3) + x_4 + x_5
return x
t = FloatSlider(min=0.1, max=5.0, step=0.1, value=0)
y = np.arange(-3, 3.01, 0.01)
@interact(t=t)
def plot_oppai(t):
x = oppai(y,t)
plt.figure(figsize=(10,9))
plt.axes().set_aspect('equal', 'datalim')
plt.grid()
plt.plot(x, y, 'black')
plt.show()
Ouf Avec ça, c'est juste dessiné avec une courbe noire terne Vous n'avez pas atteint le royaume de l'art.
Colorons la fonction pour se rapprocher de l'idéal.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as patches
from ipywidgets import interact, FloatSlider, IntSlider
import warnings
warnings.simplefilter('ignore')
%matplotlib inline
def oppai(y,t):
x_1 = (1.5 * np.exp((0.12*np.sin(t)-0.5) * (y + 0.16 *np.sin(t)) ** 2)) / (1 + np.exp(-20 * (5 * y + np.sin(t))))
x_2 = ((1.5 + 0.8 * (y + 0.2*np.sin(t)) ** 3) * (1 + np.exp(20 * (5 * y +np.sin(t)))) ** -1)
x_3 = (1+np.exp(-(100*(y+1)+16*np.sin(t))))
x_4 = (0.2 * (np.exp(-(y + 1) ** 2) + 1)) / (1 + np.exp(100 * (y + 1) + 16*np.sin(t)))
x_5 = (0.1 / np.exp(2 * (10 * y + 1.2*(2+np.sin(t))*np.sin(t)) ** 4))
x = x_1 + (x_2 / x_3) + x_4 + x_5
return x
t = FloatSlider(min=0.1, max=5.0, step=0.1, value=0)
y = np.arange(-3, 3.01, 0.01)
@interact(t=t)
def plot_oppai(t):
x = oppai(y,t)
plt.figure(figsize=(10,9))
plt.axes().set_aspect('equal', 'datalim')
plt.grid()
#Points d'amélioration
b_chiku = (0.1 / np.exp(2 * (10 * y + 1.2*(2+np.sin(t))*np.sin(t)) ** 4))
b_index = [i for i ,n in enumerate(b_chiku>3.08361524e-003) if n]
x_2,y_2 = x[b_index],y[b_index]
plt.axes().set_aspect('equal', 'datalim')
plt.plot(x, y, '#F5D1B7')
plt.fill_between(x, y, facecolor='#F5D1B7', alpha=1)
plt.plot(x_2, y_2, '#F8ABA6')
plt.fill_between(x_2, y_2, facecolor='#F8ABA6', alpha=1)
plt.show()
C'est une couleur magnifique! !! !!
Sur le mécanisme de matplotlib Vous devez d'abord décider où tracer.
Deux nombres sont nécessaires pour le diagramme de dispersion. Les valeurs sur l'axe vertical et les valeurs sur l'axe horizontal.
Les valeurs dans le sens vertical utilisées pour dessiner le tout sont fixes.
y = np.arange(-3, 3.01, 0.01)
«y» est un groupe de nombres de -3 à 3 par incréments de 0,01.
En revanche, la valeur dans la direction de l'axe horizontal sera calculée.
La fonction ʻoppai (y, t) calcule un par un pour le groupe numérique
y`.
Créez un ensemble de nombres «x».
L'argument «t» est une valeur numérique pour un ajustement fin Ceci est également calculé par incréments de 0,1 de 0,1 à 5.
Tracez sur un diagramme de dispersion en utilisant les nombres x et y.
plt.plot(x, y)
Cela dessinera cette courbe lisse ʻOP`.
Vient ensuite plt.fill_between
Cela se remplit de couleur.
Et le point le plus important est le «quartier B» courbe C'est mon point préféré.
Encore une fois, vous devez calculer la plage de points de remplissage.
b_chiku = (0.1 / np.exp(2 * (10 * y + 1.2*(2+np.sin(t))*np.sin(t)) ** 4))
b_index = [i for i ,n in enumerate(b_chiku>3.08361524e-003) if n]
x_2,y_2 = x[b_index],y[b_index]
Ici, il semble qu'il s'insère dans la bonne plage dans les directions verticale et horizontale Je fais du calcul numérique.
ʻEnumérer (b_chiku> 3.08361524e-003) Le fait qu'il soit supérieur à ce nombre est renvoyé sous la forme «Vrai» ou «Faux». Puisqu'il s'agit de la valeur d'index de «zone B», la valeur de «zone B» Récupère la valeur numérique par index du groupe de valeurs numériques de la courbe entière ʻOP
.
Maintenant que vous avez calculé le «district B», peignez-le avec une belle couleur. Terminer.
Non Le calcul numérique est difficile lors du déplacement
Mais Vous devriez pouvoir ressentir le vrai frisson que vous ne pouvez pas obtenir avec les images fixes.
C'est pourquoi utiliser Python et matplotlib. Même si vous n'êtes pas familier avec la science des données, la visualisation vaut la peine d'être étudiée.
À propos, la teinte est # F8ABA6
J'ai aimé cette couleur.
Veuillez changer la couleur en votre couleur préférée. Eh bien
HP d'Otsu py: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython
Recommended Posts