我使用pylab绘制了一些彩色ROC曲线。为此,我将以下命令放在for循环中:
pl.plot(fprList [i], tprList[i], color = colors[colorIndex], label= str (fileNames [i].split('.')[0])+' (area = %0.2f)' % roc_aucList[i])
(pylab导入为pl) 现在,问题是上面的代码行产生了颜色曲线,而我需要它们是黑色和白色,并且因为我在同一个图上绘制了几条曲线,所以每条曲线都应该有一个独特的虚线图案。在上面的代码行中,如果我们删除颜色参数,它仍然会生成彩色曲线。谁能告诉我,我怎么能解决我的问题?我想补充一点,如果曲线是彩色的但是有不同的虚线图案,那就很好了,所以在黑白打印输出上它们会被清楚地区分开来。
提前谢谢。
答案 0 :(得分:0)
你可以试试这个:
figure = pl.figure()
ax = figure.add_subplot(111)
ax.set_color_cycle(['#ffffff', '#000000'])
# your for loop
ax.plot(fprList [i], tprList[i], label= str (fileNames [i].split('.')[0])+' (area = %0.2f)' % roc_aucList[i])
答案 1 :(得分:0)
Matplotlib(这是pylab正在使用的)将自动绘制各种颜色,但如果你想让它们全黑,只需用color=colors[colorIndex]
替换color='k'
。
为了使它们具有不同的线条样式,你可以制作一个像你显然那样的颜色列表,例如。
linelist = ['-', '--', '-.']
# in the loop
ax.plot(fprList [i], tprList[i], color='k', linestyle=linelist[i])
当然还有你的其他关键词。 matplotlib文档将提供一整套如何指定独特线条的方法。