Как добавить оси морского происхождения в фигуру matplotlib с помощью сюжетов? - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть функция для возврата морского заговора.Я хочу добавить несколько морских графиков к фигуре, циклически.Я нашел ответ здесь для matplotlib, но не уверен, как применить его к морскому рожку.

import pandas as pd
import numpy as np
import seaborn as sns
from matplotlib import pyplot as plt

def plotf(df_x):
    g = sns.lineplot(data=df_x[['2016','2017','2018']])
    g.set_xticks(range(0,12))
    g.set_xticklabels(['Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec','Jan'])
    return g

df = pd.DataFrame({'Period': list(range(1,13)),
                           '2016': np.random.randint(low=1, high=100, size=12),
                           '2017': np.random.randint(low=1, high=100, size=12),
                           '2018': np.random.randint(low=1, high=100, size=12)}) 

fig, ax = plt.subplots(nrows=3)

Я хотел бы видеть 3 графика в ax[0], ax[1], ax[2]

1 Ответ

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

Вы просто назначаете ось, по которой вы хотите построить график, в качестве входных данных для функции и явно указываете, по какой оси вы хотите построить график, в sns.lineplot

import pandas as pd
import numpy as np
import seaborn as sns
from matplotlib import pyplot as plt

def plotf(df_x,ax):
    g = sns.lineplot(data=df_x[['2016','2017','2018']],ax=ax)
    g.set_xticks(range(0,12))
    g.set_xticklabels(['Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec','Jan'])
    return g

df = pd.DataFrame({'Period': list(range(1,13)),
                           '2016': np.random.randint(low=1, high=100, size=12),
                           '2017': np.random.randint(low=1, high=100, size=12),
                           '2018': np.random.randint(low=1, high=100, size=12)}) 

fig, ax = plt.subplots(nrows=3)
plotf(df,ax[0])
plotf(df,ax[1])
plotf(df,ax[2])

output

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