Python 使用matplotlib.pyplot时没有可见文本()

Python 使用matplotlib.pyplot时没有可见文本(),python,matplotlib,Python,Matplotlib,matplotlib==1.5.2 pylab==0.1.3 我试图从课程中复制一个图表 它应该如下所示: 我正在使用以下代码: import numpy as np import matplotlib.pyplot as plt la = np.linalg words = ['I', 'like', 'enjoy', 'deep', 'learning', 'NLP', 'flying', '.'] X = np.array([[0,2,1,0,0,0,0,0],

matplotlib==1.5.2 pylab==0.1.3

我试图从课程中复制一个图表

它应该如下所示:

我正在使用以下代码:

import numpy as np
import matplotlib.pyplot as plt

la = np.linalg

words = ['I', 'like', 'enjoy', 'deep', 'learning', 'NLP', 'flying', '.'] 

X = np.array([[0,2,1,0,0,0,0,0],
              [2,0,0,1,0,1,0,0],
              [1,0,0,0,0,0,1,0],
              [0,1,0,0,1,0,0,0],
              [0,0,0,1,0,0,0,1],
              [0,1,0,0,0,0,0,1],
              [0,0,1,0,0,0,0,1],
              [0,0,0,0,1,1,1,0]])

U, s, Vh = la.svd(X, full_matrices=False)

for i in xrange(len(words)):
    plt.text(U[i,0], U[i,1], words[i])

plt.autoscale()
plt.show()
然而,这些词并没有出现在图表上

如果我删除指令

plt.autoscale()
  • 我可以看到一些文本打印在角落里,但轴的范围是错误的
如果使用此指令,则即使再次调用text(),也看不到任何文本

我见过使用子图和设置x轴和y轴的精确范围的解决方案,但这似乎是不必要的复杂


我还能试什么

当您根据下面的答案设置轴限制以显示文本时,它会显示单词

import numpy as np
import matplotlib.pyplot as plt

la = np.linalg

words = ['I', 'like', 'enjoy', 'deep', 'learning', 'NLP', 'flying', '.'] 

X = np.array([[0,2,1,0,0,0,0,0],
              [2,0,0,1,0,1,0,0],
              [1,0,0,0,0,0,1,0],
              [0,1,0,0,1,0,0,0],
              [0,0,0,1,0,0,0,1],
              [0,1,0,0,0,0,0,1],
              [0,0,1,0,0,0,0,1],
              [0,0,0,0,1,1,1,0]])

U, s, Vh = la.svd(X, full_matrices=False)

fig, ax = plt.subplots()
for i in xrange(len(words)):
    ax.text(U[i,0], U[i,1], words[i])

ax.set_xlim([-0.8, 0.2])
ax.set_ylim([-0.8, 0.8])
plt.show()

似乎
plt.autoscale()
不适用于文本。。。