Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.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 Matplotlib。如何在每次打印时使用相同的颜色?_Python_Matplotlib_Data Visualization - Fatal编程技术网

Python Matplotlib。如何在每次打印时使用相同的颜色?

Python Matplotlib。如何在每次打印时使用相同的颜色?,python,matplotlib,data-visualization,Python,Matplotlib,Data Visualization,我有以下代码: 导入matplotlib.pyplot作为plt plt.图(figsize=[13,8]) 对于范围(10)内的x: 标签=预测标签[:len(预测)] plt.scatter(tnse[:,0][labels==x],tnse[:,1][labels==x],label=x) plt.图例(fontsize='large') 产品名称(“MNIST预测”) plt.show() 我有predict-maxtrix,它是神经网络的输出,还有pred\u label,它是数字向

我有以下代码:

导入matplotlib.pyplot作为plt
plt.图(figsize=[13,8])
对于范围(10)内的x:
标签=预测标签[:len(预测)]
plt.scatter(tnse[:,0][labels==x],tnse[:,1][labels==x],label=x)
plt.图例(fontsize='large')
产品名称(“MNIST预测”)
plt.show()
我有
predict
-maxtrix,它是神经网络的输出,还有
pred\u label
,它是数字向量
[0..9]

代码应绘制如下内容:

确实是这样,但是每次我想画的时候,每组点都有不同的颜色。有没有办法让它们保持恒定的颜色

我试着用这个:

plt.scatter(tnse[:,0][labels==x],tnse[:,1][labels==x],label=x,c=x)

但是它不起作用

您可以使用itertools循环10种颜色(每次运行时为每个类提供相同的颜色)。只需将
颜色
替换为要循环的颜色即可

导入itertools
colors=itertools.cycle([colors])
plt.scatter(tnse[:,0][labels==x],tnse[:,1][labels==x],label=x,color=next(colors))

编辑:根据下面的评论

我经常使用的解决方案:

  • 从颜色映射创建
    N
    颜色
  • 为每个绘图指定颜色
以下是一个受您启发的简单示例:

将matplotlib.pyplot导入为pp
从numpy导入随机,linspace
#数据
x、 y=[],[]
对于范围(10)内的uu:
x、 追加(random.rand()+.1*random.rand(32))
y、 追加(random.rand()+.1*random.rand(32))
#颜色
颜色=pp.cm.等离子体(linspace(0,1,10))
#密谋
pp.close(0)
pp.figure(0)
对于颜色,我使用拉链(颜色,范围(10)):
pp.plot(x[i],y[i],'o',label=f“{i}”,mec=color,mfc=color)
pp.图例()
pp.show()
这将产生:

在这种情况下,它们都是红色的。所有类别的颜色应不同,但每个绘图的颜色应相同