Нарисуйте линии оси или исходную точку для контурного графика Matplotlib - PullRequest
22 голосов
/ 08 марта 2012

Я хочу нарисовать оси x=0 и y=0 на моем контурном графике, используя белый цвет. Если это слишком громоздко, я хотел бы иметь белую точку, обозначающую, где находится источник.

Мой контурный график выглядит следующим образом, а код для его создания приведен ниже.

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

Ответы [ 2 ]

68 голосов
/ 08 марта 2012

Есть несколько вариантов (например, центрированные шипы ), но в вашем случае, вероятно, проще всего просто использовать axhline и axvline.

Например,

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 голос
/ 08 марта 2012

Разве вы не можете просто наложить прямую линию?

plt.plot([0,0],[-4,4],lw=3,'w')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...