2016-07-25 18 views
2

Matplotlib Axesオブジェクトからの散布図ポイントのx座標とy座標を取得する方法はありますか? plt.plot()の場合、属性がありdataと呼ばれるが、次のコードは動作しません:plt.gca()を使ってmatplotlib散布図からx座標とy座標を取得する方法は?

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
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]] 
です
関連する問題