如何在python的极坐标中绘制轮廓图

时间:2017-06-23 23:46:21

标签: python numpy matplotlib graph

我想在极坐标中制作等高线图,但我无法这样做。我从这里提到的类似问题的answer接受了建议,但这导致仅绘制轴并且在我的情况下没有绘制轮廓。
我附上以下代码:

def plotcnt():
   import matplotlib.pyplot as plt
   import numpy as np
   azimuths = np.radians(np.linspace(0, 360, 360))
   zeniths = np.arange(0, 2.1,20)
   r,theta=np.meshgrid(zeniths,azimuths)

   values= r*np.log(theta+2)


   fig, ax = plt.subplots(subplot_kw=dict(projection='polar'))
   ax.contourf(theta, r, values)
   plt.show()


plotcnt()

1 个答案:

答案 0 :(得分:1)

您使用np.arange创建天顶变量的方式只会给您[0]。

如果你使用linspace,它会给你一些数据来显示。

def plotcnt():
  import matplotlib.pyplot as plt
  import numpy as np
  azimuths = np.radians(np.linspace(0, 360, 360))
  zeniths = np.linspace(0, 2.1,20)
  r,theta=np.meshgrid(zeniths,azimuths)

  values= r*np.log(theta+2)


  fig, ax = plt.subplots(subplot_kw=dict(projection='polar'))
  ax.contourf(theta, r, values)
  plt.show()

plotcnt()

希望这有帮助。

干杯!