如何使用plt.gca()从matplotlib散点图获取x和y坐标?

时间:2016-07-25 23:26:39

标签: python matplotlib plot

有没有办法从Matplotlib Axes对象中获取散点图点的x和y坐标?对于plt.plot(),有一个名为data的属性,但以下代码不起作用:

x = [1, 2, 6, 3, 11]
y = [2, 4, 10, 3, 2]
plt.scatter(x, y)
print(plt.gca().data)
plt.show()

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-30-9346ca31279c> in <module>()
     41 y = [2, 4, 10, 3, 2]
     42 plt.scatter(x, y)
---> 43 print(plt.gca().data)
     44 plt.show()

AttributeError: 'AxesSubplot' object has no attribute 'data'

1 个答案:

答案 0 :(得分:1)

import matplotlib.pylab as plt

x = [1, 2, 6, 3, 11]
y = [2, 4, 10, 3, 2]
plt.scatter(x, y)
ax = plt.gca()
cs = ax.collections[0]
cs.set_offset_position('data')
print cs.get_offsets()

输出

[[ 1  2]
 [ 2  4]
 [ 6 10]
 [ 3  3]
 [11  2]]