0

我正在尝试将一些自定义文本标签与绘图中的线条对齐,以使重新缩放轴或绘图窗口不会使用 python 3.8 将它们错位。该图也是对数对数比例。

我在这里找到的答案Text Rotation Relative To Line from matplotlib.org 建议如下:

import matplotlib.pyplot as plt
import numpy as np

# Plot diagonal line (45 degrees)
h = plt.plot(np.arange(0, 10), np.arange(0, 10))

# set limits so that it no longer looks on screen to be 45 degrees
plt.xlim([-10, 20])

# Locations to plot text
l1 = np.array((1, 1))
l2 = np.array((5, 5))

# Rotate angle
angle = 45
trans_angle = plt.gca().transData.transform_angles(np.array((45,)),
                                                   l2.reshape((1, 2)))[0]

# Plot text
th1 = plt.text(l1[0], l1[1], 'text not rotated correctly', fontsize=16,
               rotation=angle, rotation_mode='anchor')
th2 = plt.text(l2[0], l2[1], 'text rotated correctly', fontsize=16,
               rotation=trans_angle, rotation_mode='anchor')

plt.show()

此代码直接取自 matplotlib 的文档返回错误

AttributeError:“文本”对象没有属性“transform_rotates_text”

这是使用新版本或旧版本 python 的简单问题吗?我需要它在 3.8 版中工作。提前致谢!

4

0 回答 0