Нарисуйте различные сюжеты в одной фигуре - PullRequest
0 голосов
/ 06 мая 2020

На изображении ниже показано, что я хочу, 3 разных графика в одном исполнении, но с использованием функции введите описание изображения здесь введите описание изображения здесь

Я использовал следующий код:

def box_hist_plot(data):
    sns.set()
    ax, fig = plt.subplots(1,3, figsize=(20,5))
    sns.boxplot(x=data, linewidth=2.5, ax=fig[0])
    plt.hist(x=data, bins=50, density=True, ax = fig[1])
    sns.violinplot(x = data, ax=fig[2])

, и я получил эту ошибку: inner () получил несколько значений для аргумента 'ax'

1 Ответ

0 голосов
/ 06 мая 2020

Помимо того факта, что вы не должны вызывать объект Figure ax и массив объектов Axes fig, ваша проблема возникает из строки plt.hist(...,ax=...). plt.hist() не должен принимать параметр ax=, но предназначен для воздействия на "текущие" оси . Если вы хотите указать, какие оси вы хотите построить, вы должны использовать Axes.hist().

def box_hist_plot(data):
    sns.set()
    fig, axs = plt.subplots(1,3, figsize=(20,5))
    sns.boxplot(x=data, linewidth=2.5, ax=axs[0])
    axs[1].hist(x=data, bins=50, density=True)
    sns.violinplot(x = data, ax=axs[2])
...