由于这个非常有用的post,我终于找到了如何制作极坐标填​​充轮廓图的方法。但是,当我移到下一步并尝试向同一图上添加散点时,我遇到了一些问题。这是原始脚本:

 

import numpy as np
import matplotlib.pyplot as plt

#-- Generate Data -----------------------------------------
# Using linspace so that the endpoint of 360 is included...
azimuths = np.radians(np.linspace(0, 360, 20))
zeniths = np.arange(0, 70, 10)

r, theta = np.meshgrid(zeniths, azimuths)
values = np.random.random((azimuths.size, zeniths.size))

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

plt.show()


产生此图像的原因:


如果我还添加散点图:

#-- Plot... ------------------------------------------------
fig, ax = plt.subplots(subplot_kw=dict(projection='polar'))
ax.contourf(theta, r, values)
ax.scatter(np.radians(140), 40, s=20, c='White')


我得到的是这个图像:



为什么在填充轮廓和轴之间会出现白色的粗边框?我如何摆脱它?

非常感谢你!

最佳答案

抱歉,在问完我的问题两分钟后,答案就出现在我身上。我刚刚意识到,添加散点图会以某种方式更改轴限制。将轴强制到所需的间隔可以解决此问题。



fig, ax = plt.subplots(subplot_kw=dict(projection='polar'))
ax.contourf(theta, r, values)
ax.scatter([np.radians(140)], [40], s=20, c='White')
ax.set_rmax(60)
ax.set_rmin(0)




我以为我仍然可以保留这个问题,但对其他用户还是有帮助的。

关于python - 极坐标轮廓线f和散点图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22360421/

10-08 22:41