我想在极坐标中制作等高线图,但我无法这样做。我从这里提到的类似问题的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()
答案 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()
希望这有帮助。
干杯!