簡體   English   中英

在 Matplotlib 中將極軸添加到笛卡爾 plot

[英]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]')

這是帶有兩個軸(以及我的 X 和 Y 數據)的結果圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM