Time-based charts are very similar to distribution charts, the only differences being that:
from datetime import date, datetime
from forestadmin.datasource_toolkit.context.agent_context import AgentCustomizationContext
from forestadmin.datasource_toolkit.decorators.chart.result_builder import ResultBuilder
from forestadmin.datasource_toolkit.interfaces.chart import Chart
async def transaction_volume_chart_fn(
context: AgentCustomizationContext, result_builder: ResultBuilder
) -> Chart:
return result_builder.timeBased(
"Month",
{
'2017-02-01': 636,
date(2017, 3, 1): 740,
datetime(2017, 4, 1, 0, 0): 648,
'2017-05-01': 726,
})
agent.add_chart("transactionVolume", transaction_volume_chart_fn)
from datetime import date, datetime
from forestadmin.datasource_toolkit.context.agent_context import AgentCustomizationContext
from forestadmin.datasource_toolkit.decorators.chart.result_builder import ResultBuilder
from forestadmin.datasource_toolkit.interfaces.chart import Chart
async def new_users_by_project(
context: AgentCustomizationContext, result_builder: ResultBuilder
) -> Chart:
# [...]
return result_builder.multipleTimeBased(
"Month"
[
date(2017, 2, 28),
datetime(2017, 3, 28),
'2017-04-28',
'2017-05-28',
],
[
{"label": 'Project 1', "values": [636, 740, 648, 726]},
{"label": 'Project 2', "values": [100, 200, 300, 400]},
],
)
agent.add_chart('newUsersByProject', new_users_by_project)