我想在散点图上画一个箭头。我认为在seeing the example here之后并不难,我需要做的就是将这一行添加到我的散点图中:
import numpy as np
import matplotlib.pyplot as plt
x, y = np.random.normal(0, 15, 5000), np.random.normal(0, 6, 5000)
fig = plt.figure(figsize=(16, 8))
# fig.add_subplot(2, 1, 1).scatter(x, y) Some subplot
fig.add_subplot(2, 1, 2).scatter(x, y)
fig.arrow(0, 0, 0.5, 0.5, head_width=0.05, head_length=0.1, fc='k', ec='k')
plt.show()
但我得AttributeError: 'Figure' object has no attribute 'arrow'
。这表明我将箭链接到错误的地方。那么我应该在哪里添加它以及为什么?
答案 0 :(得分:1)
arrow()
是Axes
对象的一种方法,因此您必须拆分一行scatter()
来电:
# instead of
# fig.add_subplot(2, 1, 1).scatter(x, y) Some subplot
ax = fig.add_subplot(2, 1, 2)
ax.scatter(x, y)
ax.arrow(0, 0, 40, 20, head_width=3, head_length=6, fc='k', ec='k')
另请注意,此调用使用基于轴的坐标。