Как запретить Python создавать несколько отдельных графиков рассеяния, но создавать один график рассеяния? - PullRequest
0 голосов
/ 25 сентября 2019

Несколько графиков рассеяния , полученных при , не вызываемых .Как я могу исправить эту проблему?

while True:
    try:
        a=pickle.load(f)
        a1=a['result']
        a2=a['params']
        result=np.array([x for x in a1])
        params=np.array([[z,v] for z,v in a2.items()])
        par=params[3][1]
        precision=result[0]
        #print('precision:',precision,'|','parameters:',par)
        plt.scatter(par,precision,label='Precisionx-Sampling',color='k')
        plt.xlabel('phew')
        plt.ylabel('whep')
        plt.legend()
        plt.show()   
    except EOFError:
        break

Создает отдельные графики для (номинал, точность) в последовательности

1 Ответ

0 голосов
/ 25 сентября 2019

plt.show() открывает новый график каждый раз, когда он вызывается.Вы также можете переместить все, что влияет на макет диаграммы, из цикла while.Это должно работать для вас, но так как у меня нет ваших маринованных файлов, я не пробовал.

while True:
    try:
        a=pickle.load(f)
        a1=a['result']
        a2=a['params']
        result=np.array([x for x in a1])
        params=np.array([[z,v] for z,v in a2.items()])
        par=params[3][1]
        precision=result[0]
        #print('precision:',precision,'|','parameters:',par)
        plt.scatter(par,precision,label='Precisionx-Sampling',color='k')


    except EOFError:
        break

plt.xlabel('phew')
plt.ylabel('whep')
plt.legend()
plt.show()

Почему это в цикле while?f зацикливается так, как будто оно никогда не меняется, поэтому вы не меняете a, то есть как вы создаете графики.Есть ли еще какой-то код, который вы удалили из цикла, чтобы изменить загружаемый файл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...