Как я могу (в python) точно и гибко отобразить два массива в разных полушариях полярного графика?
Я хотел бы построить массив таким образом, чтобы половина его появлялась в верхней полусфере полярного графика, а половина - в нижней. (Я делю массив на две половины, чтобы я мог использовать две разные цветовые карты: открыт для разных способов сделать это, пока эта функциональность сохраняется.) В настоящее время я отображаю массив с помощью pcolormesh, но не могу определить сетку правильно, чтобы избежать смещения в сюжете. Вот простой пример с фиктивными данными. Я хотел бы, чтобы этот пример показывал одну прямую линию от вершины графика до основания - красный сверху, синий снизу, без промежутка в середине.
# make test data: should appear as a straight line down the center
Rtest = np.zeros((39, 165), np.float_)
Rtest[:, 82] = 1.
Itest = np.ones(39)
fig = plt.figure()
ax = fig.add_subplot(111, projection="polar")
# plot one half on the bottom
nv1, nthets1 = Rtest[:20, :].shape
r1 = np.linspace(0, nv1, nv1)
t1 = np.linspace(np.pi, np.pi*2, nthets1+1, endpoint=True)
R1, T1 = np.meshgrid(r1, t1)
ax.pcolormesh(T1, R1, Rtest[:20, :].T, cmap='Blues')
# plot the other half on top
nv2, nthets2 = Rtest[20:, :].shape
r2 = np.linspace(0, nv2, nv2)
t2 = np.linspace(0, np.pi, nthets2, endpoint=False)
R2,T2 = np.meshgrid(r2, t2)
ax.pcolormesh(T2, R2, Rtest[20:, :].T, cmap='Reds')#, **newallkwargs)
ax.plot(0, 0, '.')
Вместо этого отображается следующее. (Я также нарисовал точку в точке (0, 0), чтобы подчеркнуть смещение, которое я вижу.) В центре есть радиальный зазор, которого я хотел бы избежать, а также то, что кажется смещением в тета между две половинки.
Данные макета отражают общий случай: длины массива могут быть нечетными, так что массив не может быть разрезан на две четные половины. В этом случае я бы хотел, чтобы более короткая половина просто не расширялась так радиально, как другая (как это происходит в красном полукруге ниже).
Будем весьма благодарны за любые указатели на полярных графиках или на то, как достичь желаемого эффекта.