2013-11-18 3 views
-1

Я пытаюсь построить контурный участок в matplotlib, и я продолжаю получать недостающий «клин». Следующий пример иллюстрирует то, что я пытаюсь сделать.отсутствует клин в matplotlib contourf plot

import numpy as np 
import matplotlib.pyplot as plt 

ph_cut = 0.05 
nphi = 13 
phi = np.linspace(ph_cut,2*np.pi-ph_cut, nphi) 

nr = 50 
rmax=1 
rr = np.linspace(0, rmax, nr) 
PH, RR = np.meshgrid(phi,rr) 

X = RR * np.cos(PH) 
Y = RR * np.sin(PH) 
Z = np.sin(PH) 

nlev = 13 
levels=np.linspace(-1, 1, nlev) 

cs=plt.contourf(X,Y,Z, levels) 

plt.colorbar(cs) 
plt.show() 

Клинок между -ph_cut и ph_cut не заполняется. Разве нет возможности для интерполяции matplotlib? Строго говоря, этот регион ничем не отличается и имеет не меньше информации, чем соответствующий pi-ph_cut для pi + ph_cut ... Я искал поиск, но не нашел никакого решения.

ответ

0

Просто не выходят из разреза:

import numpy as np 
import matplotlib.pyplot as plt 

ph_cut = 0.05 
nphi = 13 
phi = np.linspace(0,2*np.pi, nphi) 

nr = 50 
rmax=1 
rr = np.linspace(0, rmax, nr) 
PH, RR = np.meshgrid(phi,rr) 

X = RR * np.cos(PH) 
Y = RR * np.sin(PH) 
Z = np.sin(PH) 

nlev = 13 
levels=np.linspace(-1, 1, nlev) 

cs=plt.contourf(X,Y,Z, levels) 

plt.colorbar(cs) 
plt.show() 

enter image description here

+0

Спасибо за ваш ответ. Да, я знаю об этом решении. Моя реальная проблема связана с другим набором данных, хотя я не могу просто заполнить недостающий срез. Приведенный выше пример был самым простым минимальным примером, который я мог бы создать, чтобы воспроизвести ту же проблему. – user3003291

+0

Итак, вы говорите, что код, который вы выложили, воспроизводит экран __not__ проблемы! –

+0

Нет, код, поставленный, реплицирует проблему. У меня есть аналогичный набор данных, который действительно пропускает небольшой разрез, и я хотел бы, чтобы matplotlib интерполировал его, когда делал контурный сюжет. Если я рисую одни и те же данные в IDL, например, IDL делает интерполяцию при создании графика контура и не отображается отсутствующий клин. – user3003291