#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. вау, спасибо, что заговорили об этом. Все это скопированные вставки из примеров.