【问题标题】:Fine-tuning of pcolor() polar plotpcolor() 极坐标图的微调
【发布时间】:2014-11-06 09:50:42
【问题描述】:

我有一个 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方法来提高角度分辨率?

【问题讨论】:

  • 你能提供一些示例数据吗?如果它很长,请将其粘贴在粘贴箱中。
  • 整个文件太大。我已将其中一半放入 pastebin:pastebin.com/P0FU72Xz shape=360x26

标签: python heatmap polar-coordinates radial


【解决方案1】:

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

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

就像这里看到的那样:Polar contour plot in matplotlib - best (modern) way to do it?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    相关资源
    最近更新 更多