[英]Add polar axes to cartesian plot in Matplotlib
如本问题所述,我在 Matplotlib 中绘制了极坐标轮廓 plot 。 这基本上通过将极坐标转换为笛卡尔坐标然后在笛卡尔坐标系中绘制来起作用。
但是,我希望能够在 plot 上覆盖一组极坐标系轴 - 即 0、90、180 和 270 度的径向轴(从中心伸出),并显示刻度各个点的半径。
我完全不知道如何 go 这样做,并且似乎在文档中找不到任何内容。 有什么建议么?
fig = plt.figure(0)
rect = [0.1,0.1,0.8,0.8]
theta = np.linspace(0,2*np.pi,12)
line = np.random.rand(5)
r = np.linspace(1,1,12)
ax_carthesian = fig.add_axes(rect, ylim=(6.5,10.5), xlim=(-2,2), aspect='equal')
ax_carthesian.set_xlabel('X [kpc]')
ax_carthesian.set_ylabel('Y [kpc]')
# the polar axis:
ax_polar = fig.add_axes(rect, polar=True, frameon=False, xticks=([]), yticks=([]))
ax_polar.set_xticklabels(['','l=135','','l=225','','l=315','','l=45'])
ax_polar.set_yticklabels([]) #no radial ticks
# plotting on the carthesian axis
im = ax_carthesian.scatter(x_stuff, y_stuff, cmap='magma')
ax_polar.grid(True)
bothaxes = [ax_carthesian, ax_polar]
cbar = plt.colorbar(im, ax = bothaxes)
cbar.ax.set_ylabel('Log I_CO [K]')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.