Matplotlib的半个或四分之一的极地图?

时间:2011-03-21 19:16:39

标签: python matplotlib

我试图在Matplotlib中制作一个180度而不是360度的极坐标图,类似于MATLAB中的http://www.mathworks.com/matlabcentral/fileexchange/27230-half-polar-coordinates-figure-plot-function-halfpolar。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

以下适用于matplotlib 2.1或更高版本。 matplotlib页面上还有an example 您可以使用通常的极坐标图ax = fig.add_subplot(111, polar=True)并限制theta范围。对于半极地情节

ax.set_thetamin(0)
ax.set_thetamax(180)

四分之一极地情节

ax.set_thetamin(0)
ax.set_thetamax(90)

完整示例:

import matplotlib.pyplot as plt
import numpy as np

theta = np.linspace(0,np.pi)
r = np.sin(theta)

fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
c = ax.scatter(theta, r, c=r, s=10, cmap='hsv', alpha=0.75)

ax.set_thetamin(0)
ax.set_thetamax(180)

plt.show()

enter image description here

答案 1 :(得分:2)

官方matplotlib文档中的示例代码可能会稍微模糊一些事情,如果有人只需要一半的简单四分之一的情节。 我编写了一个代码段,可以帮助那些不熟悉AxisArtists here的人。

The output image of this code snippet