Подплот два построения графика в двух разных функциях matplotlib - PullRequest
0 голосов
/ 15 декабря 2018

Я нигде не могу найти, как построить два графа рядом друг с другом с помощью разностных функций.Кто-нибудь может мне помочь?Я работаю с Jupyter Notebook.

Первая функция:

def OccurrenciesPlotting(filtered_sent):
    fdist = FreqDist(filtered_sent)      
    fdist.plot(40,cumulative=False)

Функция Seconde:

def MyWordCloud(filtered_sent):
    img  = np.array(Image.open("H....jpg")) 
    stopwords = set(STOPWORDS)
    .
    .
    .

    image_colors = ImageColorGenerator(img)

    plt.figure()
    plt.imshow(wordcloud.recolor(color_func=image_colors),
               interpolation="bilinear")
    plt.axis("off")
    plt.savefig('wordcloud.png', format="png")
    plt.show()

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

Большое спасибо:)

1 Ответ

0 голосов
/ 15 декабря 2018

Для построения подзаговоров вы должны использовать функцию plt.subplots ().Тогда ваша фигура - это график, включающий оба вспомогательных участка, и каждый вложенный участок расположен на одной оси-объекте.Поскольку ваш код не воспроизводится, так как у нас нет данных, я не могу предоставить вам полный код.В общем, вы должны передать ось, на которую вы хотите, чтобы ваша функция отображалась в качестве аргумента.Импортируйте панд как pd Импортируйте matplotlib.pyplot как plt

df = pd.DataFrame({"a":[1,2,3], "b": [2,3,4]})

def f1(df, axis):
    return df["a"].plot(ax = axis)

def f2(df, axis):
    axis = plt.plot(df["b"], c = "g")
    return axis

fig, axes = plt.subplots(nrows =1, ncols = 2)
f1(df, axes[0])
axes[1] = f2(df, axes[1])
plt.show()

Как видите, вы должны использовать немного другой метод при использовании функции построения панд и функций matplotlibs.Вы можете передать нужную ось в df.plot () с аргументом ax.Для использования обычных библиотек matplotlib я вернул объект оси из функции.

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