有没有办法从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'
答案 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]]