使用pylab绘制黑白曲线

时间:2014-06-26 15:29:21

标签: 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) 现在,问题是上面的代码行产生了颜色曲线,而我需要它们是黑色和白色,并且因为我在同一个图上绘制了几条曲线,所以每条曲线都应该有一个独特的虚线图案。在上面的代码行中,如果我们删除颜色参数,它仍然会生成彩色曲线。谁能告诉我,我怎么能解决我的问题?我想补充一点,如果曲线是彩色的但是有不同的虚线图案,那就很好了,所以在黑白打印输出上它们会被清楚地区分开来。

提前谢谢。

2 个答案:

答案 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文档将提供一整套如何指定独特线条的方法。