0

我有一个属于径向和方位角坐标的 64x360 值矩阵。我想在两个图中可视化它们:笛卡尔图和极坐标图。我使用 imshow() 在笛卡尔坐标中可视化了热图:

import numpy as np
import matplotlib.pyplot as plt

P=np.loadtxt('Pdata.csv')
print np.shape(P)
plt.imshow(P)
plt.xlabel('radius')
plt.ylabel('theta')
plt.show()

这给了我想要的情节: 在此处输入图像描述

使用 pcolor() 在极坐标中绘制相同的图也非常简单:

r=np.arange(0,np.shape(P)[1],1)
t=np.arange(0,np.shape(P)[0],1)

R,T  = np.meshgrid(r,t)

fig = plt.figure()
ax = fig.add_subplot(111, polar = True)
ax.pcolor(T,R,P)   
plt.show()

但是,我对结果并不满意: 在此处输入图像描述

该图的分辨率似乎非常有限,因此无法区分具有较高强度和较低强度的角度,就像在笛卡尔图中一样。整个立体角似乎只分成了六七个“蛋糕楔”。有没有一种简单的pythonic方法来提高角度分辨率?

4

1 回答 1

0

好吧,我发现了一些东西。它适用于:

t = np.radians(np.linspace(0, np.shape(P)[0],np.shape(P)[0]))
r = np.arange(0, np.shape(P)[1], 1)

就像这里看到的那样:matplotlib 中的极地等高线图 - 最好的(现代)方法?

于 2014-11-06T15:39:18.777 回答