本文介绍了按轴分数定位文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以通过轴的小数部分在图形中定位文本?无论 x 和 y 的范围如何,我都希望所有绘图的文本都位于相同的位置.此功能在 ax.annotate() 中,但我需要添加额外的 'xy' 参数,这会使我的代码更难阅读.

Is there a way to position text in a figure by the fraction of the axis? I want the text in the same position for all my plots regardless of their differing ranges in x and y. This functionality is in ax.annotate() but I need to put in the extra 'xy' argument which makes my code harder to read.

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure() 
ax = fig.add_subplot(1, 1, 1)
ax.plot(np.arange(10),12*np.arange(10)) 
ax.annotate('Correct Position', xy=(0, 0), xytext=(0.4, 0.7), textcoords='axes fraction')
ax.text(0.4, 0.7, 'Incorrect Position')

plt.show()

推荐答案

您可以使用 transform 关键字:

You can use the transform keyword:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure() 
ax = fig.add_subplot(1, 1, 1)
ax.plot(np.arange(10),12*np.arange(10)) 
ax.text(0.4, 0.7, 'Correct Position', transform=ax.transAxes)

plt.show()

这篇关于按轴分数定位文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-25 02:45