Как в Matplotlib сделать функцию для автоматического построения графиков с заявленными параметрами
Необходимо автоматизировать построение серии графиков в которой меняется только один столбец.
month_last_price = data.pivot_table(index='month',
values = 'last_price',
aggfunc = 'count').plot(grid=True, figsize=(12, 5))
day_last_price = data.pivot_table(index='weekday',
values = 'last_price',
aggfunc = 'count').plot(grid=True, figsize=(12, 5))
Как лучше сделать через функцию или через цикл? Попытался вот так
def super_show(index_data, value_data):
super_show.plot(index = index_data, values = value_data, grid=True, figsize=(12, 5))
super_show('year', 'last_price')
plt.show()
Но пишет что
AttributeError: 'function' object has no attribute 'plot'
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Если я правильно понял вопрос:
def super_show(data, index, values, columns=None, aggfunc="count",
fill_value=0, dropna=True, figsize=(12, 5), grid=True, **kwargs):
(data
.pivot_table(index=index, values=values, columns=columns,
aggfunc=aggfunc, fill_value=fill_value, dropna=dropna)
.plot(figsize=figsize, grid=grid, **kwargs))
вызов:
super_show(data=data, index='year', values='last_price')