Python 使用pylab绘制黑白曲线

Python 使用pylab绘制黑白曲线,python,matplotlib,plot,Python,Matplotlib,Plot,我用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导入 现在,问题是上面的代码行生成彩色曲线,而我需要它们是黑白的,因为我在同一个绘图上绘制了多条曲线,每条曲线都应该有一个唯

我用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导入 现在,问题是上面的代码行生成彩色曲线,而我需要它们是黑白的,因为我在同一个绘图上绘制了多条曲线,每条曲线都应该有一个唯一的虚线图案。在上面的代码行中,如果我们删除color参数,它仍然会生成彩色曲线。谁能告诉我,我怎样才能解决我的问题?我想补充一点,如果曲线是彩色的,但有不同的虚线图案,这样在黑白打印输出上就可以清楚地区分它们

提前感谢您。

您可以尝试以下方法:

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])

pylab使用的Matplotlib将自动以各种颜色打印,但如果您想使它们全部为黑色,只需将color=colors[colorIndex]替换为color='k'

要使它们具有不同的线型,您可以制作一个与颜色类似的列表,例如

linelist = ['-', '--', '-.']

# in the loop
ax.plot(fprList [i], tprList[i], color='k', linestyle=linelist[i])
当然,还有你的其他关键词。matplotlib文档将提供一套完整的指定唯一线型的方法