Как ограничить диаграмму полярной тепловой карты по осям?

#python #matplotlib #heatmap #polar-coordinates

#python #matplotlib #тепловая карта #полярные координаты

Вопрос:

Я использую полярную тепловую карту в matplotlib следующим образом:

 import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
from energetics import compute_snr, DURATION_0

fig = plt.figure()
ax = Axes3D(fig, ylim=np.pi/3)


rad = np.linspace(50, 1500, 100)
azm = np.linspace(-np.pi/3, np.pi/3, 100)
r, th = np.meshgrid(rad, azm)
z = compute_snr(distance=r,
                azimuth=th, angles='radians')
plt.subplot(projection="polar")
plt.pcolormesh(th, r, z, shading='nearest', cmap='RdYlGn')
plt.grid()
plt.show()
 

Я могу ограничить данные для диаграммы, но не область диаграммы:

введите описание изображения здесь

Для объекта Axes3D нет текущих методов:

 ax.set_thetamin(45)
ax.set_thetamax(135)
 

Эти методы не работают:

 ax.set_xlim([-np.pi/3, np.pi/3])
ax.set_ylim([-np.pi/3, np.pi/3])
 

Как ограничить участок по осям? Я хочу получить что-то вроде изображения ниже.

введите описание изображения здесь

Комментарии:

1. Почему Axes3D используется, в то время как сюжет кажется 2D?

2. вау, спасибо, что заговорили об этом. Все это скопированные вставки из примеров.