ValueError: Using a string of single character colors as a color sequence is not supported. The colors can be passed as an explicit list instead.
运行程序出现上面的报错,修改后的代码如下:
# pl.scatter(X[ones_, 0], X[ones_, 1], c='r', cmap='jet', s=5, edgecolors='')
pl.scatter(X[ones_, 0], X[ones_, 1], c='r', cmap='jet', s=5, edgecolors='none')
# pl.scatter(X_query[:, 0], X_query[:, 1], c=Y_query, cmap='jet', s=10, marker='8',edgecolors='')
pl.scatter(X_query[:, 0], X_query[:, 1], c=Y_query, cmap='jet', s=10, marker='8',edgecolors='none')
解决办法:
(1)将edgecolor参数对应内容去掉即可
stackflow原话如下
Just remove the
edgecolor=''
fromax.scatter(x, y, c=z, s=50, edgecolor='')
and it will plot.
(2)将edgecolor=''替换为edgecolor='none'
stackflow原话如下
You can use
edgecolor='none'
for a fully transparent edge. Orlinewidths=0
. Default the edgecolor is equal to the facecolor. With very small dots it can help to remove the edge, but fors=50
there doesn't seem to be a lot of benefits.
参考:
python - Colour points in scatter plot based on density - Stack Overflow