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)
),则您发布的代码可能会引发该类型错误。