Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Numpy';在哪里_Python_Matplotlib - Fatal编程技术网

Python 使用Numpy';在哪里

Python 使用Numpy';在哪里,python,matplotlib,Python,Matplotlib,我想要实现的是有条件地给散点图上色。我遵循了这一点,但得到了未调整大小对象的TypeError:len()。我正在做下面的事情 for i in range(n_cells): col = np.where(cell_list[i].m_n == 1, 'g', 'k') plt.scatter(cell_list[i].x, cell_list[i].y, c = col, alpha = 0.5, s = 2) cell\u list是一个由cells组成的数组,它是一个用户定

我想要实现的是有条件地给散点图上色。我遵循了这一点,但得到了未调整大小对象的
TypeError:len()。我正在做下面的事情

for i in range(n_cells):
   col = np.where(cell_list[i].m_n == 1, 'g', 'k')
   plt.scatter(cell_list[i].x, cell_list[i].y, c = col, alpha = 0.5, s = 2)

cell\u list
是一个由
cell
s组成的数组,它是一个用户定义的对象。我已检查并确保
col
是大小正确的
g
k
数组。此外,例如,如果将
c=col
更改为
c='b'
,则绘图工作正常。我对Python比较陌生,所以找不到问题所在。

因为np.where总是返回一个numpy对象,所以使用str(col)适用于以下脚本

import matplotlib.pyplot as plt
import numpy as np

col = np.where(0 == 1, 'g', 'k')
plt.scatter([0, 1], [0, 1], c = str(col), alpha = 0.5, s = 2)

plt.show()

对于更具体的帮助,请发布一个。我们很难测试代码,但是我相信np.where总是返回一个numpy对象。你试过
c=str(col)
?这对我来说似乎有效。如果
cell\u list[i].x
是a(例如
np.array(1)
),则您发布的代码可能会引发该类型错误。