Сюжет не отображается с помощью matplotlib - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь построить два значения истинного положительного показателя и значения ложного положительного показателя для двух разных случаев. При построении графика второй график отменяет отображение первого вида.

import math
import numpy as np
import random
import os
import sys
from scipy.spatial import distance
from matplotlib import pyplot as plt
import pandas as pd


def fextract(fname1, fname2):
    file1 = open(fname1,'r')
    file2 = open(fname2,'r')
    cnt = 122
    data1 = file1.readlines()
    data2 = file2.readlines()
    print(len(data1))
    tpr = np.zeros((1,cnt))
    fpr = np.zeros((1,cnt))
    cnt2 = 0
    for x in data1:
        if(cnt2 == 120):
            break
        tpr[0,cnt2] = float(x)
        cnt2 = cnt2 + 1

    cnt2 = 0
    for x in data2:
        if(cnt2 == 120):
            break
        fpr[0,cnt2] = float(x)
        cnt2 = cnt2 + 1

    return tpr, fpr     

def plotfig(x1,y1,x2,y2):
    f1 = plt.figure()
    lg = plt.plot(x2[0,:], y2[0,:], label="Skin Color (With Chrominance)")
    lg = plt.plot(x1[0,:], y1[0,:], label="Skin Color")
    plt.legend(loc='best')
    plt.xlabel('False Positive Rate')
    plt.ylabel('True Positive Rate')
    plt.show()



tpr,fpr = fextract('tp.txt','fp.txt')
tpr2,fpr2 = fextract('tp2.txt','fp2.txt')
tpr3,fpr3 = fextract('tp3.txt','fp3.txt')

tpr4,fpr4 = fextract('tp7.txt','fp7.txt')
tpr5,fpr5 = fextract('tp8.txt','fp8.txt')
tpr6,fpr6 = fextract('tp9.txt','fp9.txt')

plotfig(fpr,tpr,fpr4,tpr4)
plotfig(fpr2,tpr2,fpr5,tpr5)
plotfig(fpr3,tpr3,fpr6,tpr6)

Figure plotting the True Positive and False Positive values of both cases

Как видно выше, оранжевая линия останавливается на полпути и синий получается полностью.

...