笛卡尔坐标仍然是在文本框中定义的,但问题是文本框本身被旋转。下图显示了水平对齐“左”和垂直对齐“下”的两个文本;问题是旋转文本的边界框边缘离文本很远。在
你想要的是让文本围绕它自己周围的一个边缘点旋转,如下所示。在
这可以使用rotation_mode="anchor"参数来实现,matplotlib.text.Text,它正是上述功能的指导者。在ax.text(..., rotation_mode="anchor")
在本例中:
^{pr2}$
请注意,这使用了给定的50个单位的底部间距。您可以稍微增加这个数字,使条和文本之间有更大的间距。在
下面这个答案的最初版本在某种程度上已经过时了。我会把它放在这里备查。
您遇到的问题是文本边界框被展开以承载完整的旋转文本,但该框本身仍然是在笛卡尔坐标系中定义的。下图显示了水平对齐“左”和垂直对齐“下”的两个文本;问题是旋转文本的边界框边缘离文本很远。在
一个简单的解决方案可能是将水平和垂直对齐方式定义为“中心”,这样文本的中心点保持不变,而不受其旋转的影响。在
接下来的问题是得到一个很好的估计文本中心和工具栏顶部之间的距离。在
你可以取课文中一半的字母数,再乘以某个因子。这需要反复试验才能找到。在</