0
유체 역학 시뮬레이션 데이터를 구 좌표계로 플로팅하고 때로는 pixelolite 대신 부드럽고 부드러워 보이기 때문에 contourf를 사용하는 것을 선호합니다. 그러나 contourf는 항상 극좌표에서 r = 0으로 데이터를 확장하지만 데이터에는 r = 0이 포함되지 않습니다. 아래의 간단한 예제로이 문제를 재현했습니다 :Matplotlib의 극좌표는 contourf를 사용하여 잘못된 범위를 표시합니다.
from pylab import *
fig = figure(figsize=(6, 6))
ax = fig.add_subplot(111,projection='polar')
# generate some data
Nt,Nr = 150,150
r_axis = np.linspace(0.5,1.,Nr)
t_axis = np.linspace(0.,0.5*np.pi,Nt)
r_grid, t_grid = np.meshgrid(r_axis,t_axis)
data = np.zeros((Nt,Nr))
sin_theta = np.sin(t_axis)
for i in range(Nr):
data[:,i] = sin_theta
if 1: # polar plot using contourf - plots incorrectly from r = 0
scale = np.linspace(0.,1.,100)
polar = ax.contourf(t_grid,r_grid,data,scale,cmap='Spectral')
else: # correctly plots the data
polar = ax.pcolormesh(t_grid,r_grid,data,cmap='Spectral')
show()
빠른 수정이 있습니까? 감사합니다