Несколько графиков в Python создает сообщение об ошибке «Не удается сбросить оси» - PullRequest
0 голосов
/ 02 мая 2019

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

Вот рабочий код для создания одного такого графика:

import matplotlib.pyplot as plt

def plotKappa(train_kappa,test_kappa):
    objects = ('train', 'test')
    y_pos = np.arange(len(objects))
    performance = [train_kappa,test_kappa]

    plt.bar(y_pos, performance, align='center', alpha=0.5)
    plt.xticks(y_pos, objects)
    plt.ylabel('kappa')
    plt.title('kappa training vs test')

plotKappa(0.9 ,0.2)

, которыйРезультаты на этом графике:

one plot

Я прочитал немного о том, как создать несколько вспомогательных участков, затем поиграл, пытаясь создать два участка рядом дляначать, но быстро понял, что-то не так.Я получаю сообщение об ошибке «Не удается сбросить оси. Возможно, вы пытаетесь повторно использовать исполнителя в нескольких осях, которые не поддерживаются»

import matplotlib.pyplot as plt

fig = plt.figure()
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)

def plotKappa(ax,train_kappa,test_kappa):
    objects = ('train', 'test')
    y_pos = np.arange(len(objects))
    performance = [train_kappa,test_kappa]

    ax.bar(y_pos, performance, align='center', alpha=0.5)
    plt.xticks(y_pos, objects, axes=ax)
    plt.ylabel('kappa', axes=ax)
    plt.title('kappa training vs test', axes=ax)


plotKappa(ax1, 0.9 ,0.2)
plotKappa(ax2, 0.8 ,0.1)

1 Ответ

1 голос
/ 02 мая 2019

Нет такой вещи как plt.xticks(..., axes=ax). Вы, вероятно, хотели использовать

ax.set_xticks(y_pos, objects)
ax.set_ylabel('kappa')
ax.set_title('kappa training vs test')

вместо.

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