matplotlib中pyplot.plot传入颜色数组报Invalid RGBA错误如何修复
问题原因
plt.plot() 函数的颜色参数仅支持传入单个颜色值,无法直接接收颜色数组为序列中的每个点单独指定颜色,这是触发Invalid RGBA argument报错的核心原因,与你传入的颜色是字符串还是RGB数组、是否做过维度压缩无关。
修复方案(保留使用plt.plot())
你可以遍历每一个坐标点和对应的颜色,逐点调用plt.plot()绘制即可,修改后的可运行代码如下:
from matplotlib import pyplot as plt import numpy as np xTest = [.1,.2,.1] yTest = [.1,.2,.1] circleLabels = [0,1,0] colormap = np.array(['r', 'b']) colorVec = colormap[circleLabels] # 逐点绘制实现不同颜色标记 for x, y, point_color in zip(xTest, yTest, colorVec): plt.plot(x, y, "o", color=point_color) plt.xlabel('x coordinate') plt.ylabel('y coordinate') plt.title("scatterplot of circle points") plt.show()
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

