Je travaille sur l'utilisation de Matplotlib pour produire des graphiques d'équations implicites (par exemple, y^x = x^y). Avec beaucoup de remerciements à l'aide que j'ai déjà reçue, je suis assez loin avec elle. J'ai utilisé une ligne de contour pour produire l'intrigue. Mon problème résiduel est avec le formatage de la ligne de contour, par exemple la largeur, la couleur et surtout le zorder, où le contour apparaît derrière mon quadrillage. Ceux-ci fonctionnent bien lors du tracé d'une fonction standard bien sûr.Comment formater des courbes de niveau à partir de Matplotlib
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
import numpy as np
fig = plt.figure(1)
ax = fig.add_subplot(111)
# set up axis
ax.spines['left'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
# setup x and y ranges and precision
x = np.arange(-0.5,5.5,0.01)
y = np.arange(-0.5,5.5,0.01)
# draw a curve
line, = ax.plot(x, x**2,zorder=100,linewidth=3,color='red')
# draw a contour
X,Y=np.meshgrid(x,y)
F=X**Y
G=Y**X
ax.contour(X,Y,(F-G),[0],zorder=100,linewidth=3,color='green')
#set bounds
ax.set_xbound(-1,7)
ax.set_ybound(-1,7)
#add gridlines
ax.xaxis.set_minor_locator(MultipleLocator(0.2))
ax.yaxis.set_minor_locator(MultipleLocator(0.2))
ax.xaxis.grid(True,'minor',linestyle='-',color='0.8')
ax.yaxis.grid(True,'minor',linestyle='-',color='0.8')
plt.show()
Merci beaucoup Mark - merci pour les conseils de réponse aussi, je ne savais pas comment tout cela a fonctionné! – Geddes