Quando desenvolvi a função, percebi que nem todos os argumentos são obrigatórios. Com isso, defini como obrigatórios apenas o dataframe e os eixos x e y. Eu utilizei o Plotly ao invés do Seaborn e obtive um resultado bastante interessante, como podemos ver no código abaixo : )
def line_plotter(df, x, y, title = False, x_title = False, y_title = False, color = False):
if title and x_title and y_title and color:
fig = px.line(
df,
x=x,
y=y,
color_discrete_sequence=[color],
width=860,
height=550,
)
fig.layout.title = title
fig.update_layout(xaxis_title=x_title, yaxis_title=y_title, font_size=14)
fig.layout.template = 'plotly_dark'
fig.show()
elif title and x_title and y_title:
fig = px.line(
df,
x=x,
y=y,
width=860,
height=550,
)
fig.layout.title = title
fig.update_layout(xaxis_title=x_title, yaxis_title=y_title, font_size=14)
fig.layout.template = 'plotly_dark'
fig.show()
elif title and x_title and color:
fig = px.line(
df,
x=x,
y=y,
color_discrete_sequence=[color],
width=860,
height=550,
)
fig.layout.title = title
fig.update_layout(xaxis_title=x_title, font_size=14)
fig.layout.template = 'plotly_dark'
fig.show()
elif title and y_title and color:
fig = px.line(
df,
x=x,
y=y,
color_discrete_sequence=[color],
width=860,
height=550,
)
fig.layout.title = title
fig.update_layout(yaxis_title=y_title, font_size=14)
fig.layout.template = 'plotly_dark'
fig.show()
elif title and x_title:
fig = px.line(
df,
x=x,
y=y,
width=860,
height=550,
)
fig.layout.title = title
fig.update_layout(xaxis_title=x_title, font_size=14)
fig.layout.template = 'plotly_dark'
fig.show()
elif title and y_title:
fig = px.line(
df,
x=x,
y=y,
width=860,
height=550,
)
fig.layout.title = title
fig.update_layout(yaxis_title=y_title, font_size=14)
fig.layout.template = 'plotly_dark'
fig.show()
elif title and color:
fig = px.line(
df,
x=x,
y=y,
color_discrete_sequence=[color],
width=860,
height=550,
)
fig.layout.title = title
fig.layout.template = 'plotly_dark'
fig.show()
elif title:
fig = px.line(
df,
x=x,
y=y,
width=860,
height=550,
)
fig.layout.title = title
fig.layout.template = 'plotly_dark'
fig.show()
else:
fig = px.line(
df,
x=x,
y=y,
width=860,
height=550,
)
fig.layout.template = 'plotly_dark'
fig.show()
Aqui, podemos ver a chamada da função e seu output:
line_plotter(
df=alucar_df,
x='mes',
y='aumento',
title='Aumento de vendas de Alucar entre 2017 e 2018',
x_title='Tempo',
y_title='Aumento',
color='lightgreen',
)