Pyplot在缩放时保持文本大小

时间:2019-07-27 19:17:55

标签: python matplotlib

我希望在pyplot图中有一些文本,并且能够在不改变比例的情况下放大它。请参见下面的情节示例,我想发生的事情以及实际发生的事情。
代码重现错误:

import matplotlib.pyplot as plt
plt.plot((0, 0, 1, 1, 0), (1, 0, 0, 1, 1))
plt.text(0, 0, 'Test', fontsize=150)
plt.show()

示例图片: The Example Plot What I Would Like To Happen When Zooming What Actually Happens

1 个答案:

答案 0 :(得分:2)

matplotlib中的文本以磅为单位定义。点是绝对量,与英寸成比例。因此,文本将始终具有相同的大小。

在这里您想在数据坐标中定义文本。通过首先将文本转换为路径,然后将该路径添加到轴,可以实现此目的。通过TextPath完成,随后将其转换为PathPatch

import matplotlib.pyplot as plt
from matplotlib.textpath import TextPath
from matplotlib.patches import PathPatch

plt.plot((0, 0, 1, 1, 0), (1, 0, 0, 1, 1))

tp = TextPath((0,0), "Test", size=0.4)
plt.gca().add_patch(PathPatch(tp, color="black"))

plt.show()

enter image description here

相关问题