python polar contour_python – 极地轮廓图在matplotlib – 最好(现代)的方式做到吗?

更新:我已经完成了我在

http://blog.rtwilson.com/producing-polar-contour-plots-with-matplotlib/的博客上发现这样做的完整的写作 – 你可能想先检查一下.

我试图在matplotlib中绘制极地等高线.我在互联网上找到了各种资源,(a)我似乎无法让我的代码工作,(b)许多资源显得比较旧,我想知道现在是否有更好的方法.例如,http://www.mail-archive.com/matplotlib-users@lists.sourceforge.net/msg01953.html表示,可能会做一些事情来改善事情,那就是2006年!

我很想能够绘制正确的极地等高线图 – 像pcolor可以让你做一些类型的情节(见下面的注释部分),但我似乎找不到任何方法去做,所以我首先转换为笛卡尔坐标.

无论如何,我有代码如下:

from pylab import *

import numpy as np

azimuths = np.arange(0, 360, 10)

zeniths = np.arange(0, 70, 10)

values = []

for azimuth in azimuths:

for zenith in zeniths:

print "%i %i" % (azimuth, zenith)

# Run some sort of model and get some output

# We'll just use rand for this example

values.append(rand())

theta = np.radians(azimuths)

values = np.array(values)

values = values.reshape(len(zeniths), len(azimuths))

# This (from http://old.nabble.com/2D-polar-surface-plot-td28896848.html)

# works fine

##############

# Create a polar axes

# ax = subplot(111, projection='polar')

# pcolor plot onto it

# c = ax.pcolor(theta, zeniths, values)

# show()

r, t = np.meshgrid(zeniths, azimuths)

x = r*np.cos(t)

y = r*np.sin(t)

contour(x, y, values)

当我运行时,我得到一个错误TypeError:输入x和y必须是1D或2D ..我不知道为什么我得到这一点,因为x和y都是2D.我做错了吗?

此外,将我的模型返回的值放入列表中,然后重塑它似乎相当笨重.有没有更好的方法来做到这一点?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值