python 绘制多条曲线,曲线颜色随机

import random
def randomcolor():
    colorArr = ['1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
    color = ""
    for i in range(6):
        color += colorArr[random.randint(0,14)]
    return "#"+color

def huizhi():

    xxxx=np.loadtxt("test.txt", dtype=float, delimiter=" ")
    ls=list(xxxx[-20:-1,2:])
    for i in ls:
        plt.plot(range(275),i,color=randomcolor())

huizhi()

效果如下:

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
绘制多分类的ROC曲线可以采用微观平均和宏观平均的方式。下面给出一个示例代码: ```python import numpy as np from sklearn.metrics import roc_curve, auc import matplotlib.pyplot as plt # 生成随机分类结果 n_classes = 3 n_samples = 1000 y_true = np.random.randint(low=0, high=n_classes, size=n_samples) y_score = np.random.rand(n_samples, n_classes) # 计算ROC曲线和AUC值 fpr = dict() tpr = dict() roc_auc = dict() for i in range(n_classes): fpr[i], tpr[i], _ = roc_curve(y_true == i, y_score[:, i]) roc_auc[i] = auc(fpr[i], tpr[i]) # 计算宏观平均ROC曲线和AUC值 macro_fpr = np.unique(np.concatenate([fpr[i] for i in range(n_classes)])) macro_tpr = np.zeros_like(macro_fpr) for i in range(n_classes): macro_tpr += np.interp(macro_fpr, fpr[i], tpr[i]) macro_tpr /= n_classes macro_auc = auc(macro_fpr, macro_tpr) # 计算微观平均ROC曲线和AUC值 micro_fpr, micro_tpr, _ = roc_curve((y_true == np.arange(n_classes)[:, None]).ravel(), y_score.ravel()) micro_auc = auc(micro_fpr, micro_tpr) # 绘制ROC曲线 plt.figure(figsize=(8, 6)) plt.plot(micro_fpr, micro_tpr, label='micro-average ROC (AUC = {0:0.2f})'.format(micro_auc), color='deeppink', linestyle=':', linewidth=4) plt.plot(macro_fpr, macro_tpr, label='macro-average ROC (AUC = {0:0.2f})'.format(macro_auc), color='navy', linestyle=':', linewidth=4) colors = ['aqua', 'darkorange', 'cornflowerblue'] for i, color in zip(range(n_classes), colors): plt.plot(fpr[i], tpr[i], color=color, lw=2, label='ROC curve of class {0} (AUC = {1:0.2f})'.format(i, roc_auc[i])) plt.plot([0, 1], [0, 1], 'k--', lw=2) plt.xlim([0.0, 1.0]) plt.ylim([0.0, 1.05]) plt.xlabel('False Positive Rate') plt.ylabel('True Positive Rate') plt.title('ROC Curve for Multi-class Classification') plt.legend(loc="lower right") plt.show() ``` 在这个示例代码中,首先生成了随机的分类结果,然后分别计算每个类别的ROC曲线和AUC值。接着计算宏观平均和微观平均的ROC曲线和AUC值,并将它们一起绘制在同一张图上。最后,加入了一条虚线作为基准,将图例添加到图表中。 需要注意的是,对于多分类问题,sklearn.metrics.roc_curve函数的第一个参数需要传入一个bool型的数组,表示当前样本是否属于当前类别。因此,在计算ROC曲线时需要对每个类别进行二元分类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值