2012-03-07 19 views
16

Chcę narysować oś x=0 i y=0 na moim wykresie konturu przy użyciu białego koloru. Jeśli jest to zbyt uciążliwe, chciałbym mieć białą kropkę określającą pochodzenie.Rysowanie linii osi lub początku dla konturu konturowego Matplotlib

Mój wykres konturu wygląda następująco, a kod do jego utworzenia podano poniżej.

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

Odpowiedz

54

Istnieje wiele opcji (np centered spines), ale w Twoim przypadku, to chyba najprostszy wystarczy użyć axhline i axvline.

E.g.

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

1

nie można po prostu nałożyć linię prostą?

plt.plot([0,0],[-4,4],lw=3,'w') 
Powiązane problemy