web-dev-qa-db-fra.com

Tracez des lignes d'axe ou le tracé de contour Origine pour Matplotlib

Je veux dessiner x=0 et y=0 axe dans mon tracé de contour, en utilisant une couleur blanche. Si c'est trop lourd, je voudrais avoir un point blanc indiquant où se trouve l'origine.

Mon tracé de contour ressemble à ceci et le code pour le créer est donné ci-dessous.

xvec = linspace(-5.,5.,100)                               
X,Y = meshgrid(xvec, xvec)                                
fig = plt.figure(figsize=(6, 4))                      
contourf(X, Y, W,100)                             
plt.colorbar()                                    

enter image description here

22
nos

Il existe un certain nombre d'options (par exemple épines centrées ), mais dans votre cas, il est probablement plus simple d'utiliser simplement axhline et axvline .

Par exemple.

import numpy as np
import matplotlib.pyplot as plt

xvec = np.linspace(-5.,5.,100)                               
x,y = np.meshgrid(xvec, xvec)
z = -np.hypot(x, y)                                

plt.contourf(x, y, z, 100)                             
plt.colorbar() 

plt.axhline(0, color='white')
plt.axvline(0, color='white')

plt.show()

enter image description here

70
Joe Kington

Ne pouvez-vous pas simplement superposer une ligne droite?

plt.plot([0,0],[-4,4],lw=3,'w')
1
ev-br