Печатает имя файла в качестве заголовка для каждого участка - PullRequest
0 голосов
/ 21 апреля 2019

Я пытаюсь построить три графика подряд, но сталкиваюсь со странным поведением.

Я пытаюсь распечатать имя файла перед каждым фрагментом цикла.

for file in filenames:
        data = np.loadtxt(file, delimiter = ",")
        x = np.mean(data,axis=0)
        y = np.min(data,axis=0)
        z = np.max(data,axis=0)
        f,(plot1,plot2,plot3) = plt.subplots(1,3,figsize=(20,5))
        print(file)
        plot1.plot(x)
        plot2.plot(y)
        plot3.plot(z)

Единственная проблема для моей программы заключается в том, что все графики построены после оператора print(file). Так это стало примерно так:

filename1
filename2
filename3

Graph1 Graph2 Graph3
Graph1 Graph2 Graph3
Graph1 Graph2 Graph3

То, что я хотел, это:

filename1
Graph1 Graph2 Graph3

filename2 
Graph1 Graph2 Graph3

filename3
Graph1 Graph2 Graph3

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

Почему подзаговор строится только после всех операторов печати? Как распечатать графики сразу после печати каждого имени файла? Есть ли способ, которым я могу предоставить название заголовка для каждого подзаговора?

1 Ответ

1 голос
/ 21 апреля 2019

Попробуйте plt.suptitle(file) вместо print(file).

Если вы настаиваете на печати, то вынуждайте plt рендерить после каждой итерации на plt.show()

for file in filenames:
    data = np.loadtxt(file, delimiter = ",")
    x = np.mean(data,axis=0)
    y = np.min(data,axis=0)
    z = np.max(data,axis=0)
    f,(plot1,plot2,plot3) = plt.subplots(1,3,figsize=(20,5))
    print(file)
    plot1.plot(x)
    plot2.plot(y)
    plot3.plot(z)
    plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...