更改图像的原点位于极坐标图上

我在极地情节中添加一个小徽标。


我正在使用python来做到这一点。


我使用以下代码来执行此操作。


Logo = mpimg.imread(figpath+figname)

imagebox = OffsetImage(Logo, zoom=0.12)

ab = AnnotationBbox(imagebox, (4.7, 8))

ax1.add_artist(ab)

ax1.set_ylim(0,8)

输出如下:

http://img3.mukewang.com/63170a83000153cd05430357.jpg

中的坐标从徽标的中心开始。(theta,r)AnnotationBbox

我想将徽标移动到下面红色框中所示的位置:

http://img4.mukewang.com/63170a8f0001eee605420361.jpg

任何人都可以建议我如何做到这一点吗?


狐的传说
浏览 105回答 1
1回答

跃然一笑

您可以使用 to 来更改框的参考点。例如,传递使右上角成为参考坐标。box_alignment=AnnotationBboxbox_alignment=(1,1)xyfrom matplotlib.offsetbox import OffsetImage, AnnotationBboxr = np.arange(0, 2, 0.01)theta = 2 * np.pi * rfig = plt.figure()ax = fig.add_subplot(111, projection='polar')ax.plot(theta, r)ax.set_rmax(2)ax.set_rticks([0.5, 1, 1.5, 2])  # Less radial ticksax.set_rlabel_position(-22.5)  # Move radial labels away from plotted lineax.grid(True)img = matplotlib.image.imread("https://upload.wikimedia.org/wikipedia/en/7/7d/Lenna_%28test_image%29.png")imagebox = OffsetImage(img, zoom=0.12)ab = AnnotationBbox(imagebox, xy=(np.pi*225/180, 2), box_alignment=(1,1))ax.add_artist(ab)plt.show()请注意,您还可以更改用于放置框的坐标系。例如,如果您想将徽标放在图的左上角,则可以执行以下操作:ab = AnnotationBbox(imagebox, xy=(0,1), xycoords='figure fraction', box_alignment=(0,1))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python