matplotlib中有一个图形,我想将图像覆盖到该图形上。目前,我正在使用OffsetImage执行此操作:
team_logo = (os.getcwd() + "\Team_Logos"'\\' + data['posteam'].iloc[0] + '.png')
team_logo = plt.imread(team_logo)
team_logo = OffsetImage(team_logo, zoom=0.50)
team_logo.set_offset((2800, 2800))
ax.add_artist(team_logo)
但是,我希望图像居中,而不是team_logo.set_offset((2800, 2800))
行。我想在不同的时间使用不同大小的图像,因此手动将((2800,2800)
更改为我创建的每个图形的不同坐标不是一个好的解决方案。我还使用plt.savefig()
和dpi=400
作为我的最终图像
实际的图形本身始终是一个120 x 53.3的图形(x x x y),但由于某些原因,OffsetImage在plt.show()中显示的重叠图像与在plt.savefig()中显示的重叠图像不同,因此我不能只使用((60,26.65))
有人知道有没有办法让我的图像在保存到图像的绘图上居中?如果有更好的方法,我不必使用OffsetBox。谢谢
基于this tutorial,最简单的方法可能是使用AnnotationBbox:
相关问题 更多 >
编程相关推荐