Building Dashboards with Dash and Plotly
Alex Scriven
Data Scientist
html.Table()
)app.layout
)
from dash_table import DataTable
d_columns = [ {"name": 'Major Category', "id": "Major Category"}, {"name": 'Total Sales ($)', "id": "Total Sales ($)"}, {"name": 'Sales Volume', "id": "Sales Volume"}]
d_table = DataTable( columns=d_columns,
data=major_cat_tb.to_dict('records'),
cell_selectable = False)
FormatTemplate
from dash_table import FormatTemplate
money_format = FormatTemplate.money(2)
d_columns=[{"name": 'Total Sales ($)', "id": "Total Sales ($)", 'type':'numeric', 'format':money_format} # Other column definitions ]
Nicely formatted!
Adding sorting:
d_table = DataTable(
columns=d_columns,
data=major_cat_tb.to_dict('records'),
cell_selectable=False,
# Add sort ability
sort_action='native')
With Sorting:
Adding Filtering:
d_table = DataTable(
columns=d_columns,
data=major_cat_tb.to_dict('records'),
cell_selectable=False,
# Add filter ability
filter_action='native'
)
With Filtering:
Problem: long tables
page_current
= page to start onpage_size
= entries per paged_table = DataTable( # Previous options page_current= 0,
page_size= 2, page_action="native")
Pagination in action:
Building Dashboards with Dash and Plotly