我正在尝试count
在特定合并区域中的scatter points
数。当我使用单个code
的{{1}}数据时,row
起作用,但是当我尝试在众多XY
和{ {1}}被返回:
iterate
示例:
script
此行发生错误
rows
跟踪:
TypeError
答案 0 :(得分:0)
我复制并粘贴了您的代码,并得到了该追溯-完整追溯,而不仅仅是最后两行!
Traceback (most recent call last):
File "stack52695533.py", line 35, in <module>
in_oval = Oval.contains_point(ax.transData.transform(([px, py])), 0)
File "/usr/local/lib/python3.6/dist-packages/matplotlib/patches.py", line 154, in contains_point
radius)
File "/usr/local/lib/python3.6/dist-packages/matplotlib/path.py", line 493, in contains_point
return _path.point_in_path(point[0], point[1], radius, self, transform)
TypeError: only size-1 arrays can be converted to Python scalars
看到patches.py
中关于contains_point
的一行吗?只是按我猜的名字,它期望一分。因此,现在我们需要测试其输入。
添加
print(px, py)
print(ax.transData.transform(([px, py])))
在问题行之前,产生:
[ 22 12 -66 26 -9 -60 22 41 -6 7] [111 67 4 119 36 71 105 112 91 30]
[[ 10992. 4488. ]
[-32656. 9662.4]
[ -4384. -22123.2]
[ 10992. 15206.4]
[ -2896. 2640. ]
[ 55136. 24816. ]
[ 2064. 44035.2]
[ 17936. 26294.4]
[ 52160. 41448. ]
[ 45216. 11140.8]]
正如我所怀疑的,您正在尝试测试多个点,而不仅仅是一次。
X
和Y
为(100,10);您在第一个维度上进行迭代,但仍将10个值传递给transform
。
幸运的是,您提供了一个可运行的示例,否则我仍在等待您对我的最新评论的答复。