Vin*_*nay 3 python matplotlib seaborn
我有一个返回seaborn 情节的函数。我想通过循环将多个seaborn图添加到一个图形中。我在这里找到了 matplotlib 的答案,但不知道如何将其应用于 seaborn。
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)
Run Code Online (Sandbox Code Playgroud)
我想看 3 个地块ax[0], ax[1], ax[2]
您只需将要绘制的轴指定为函数的输入,并在 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])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6373 次 |
| 最近记录: |