Стилизация приложения Dash с помощью CSS
Пришло время применить возможности CSS и вывести ваши дашборды на новый уровень. Вы обдумали несколько идей, как улучшить маркетинговый дашборд, и готовы продемонстрировать их бизнес-заказчикам.
Изменение размеров графика и логотипа, а также добавление привлекательных цветов фона для различных элементов сделают его гораздо выразительнее!
Это упражнение является частью курса
Создание дашбордов с помощью Dash и Plotly
Инструкции к упражнению
- Задайте размер логотипа: ширина
215px, высота240px— после строки16. - Задайте размер столбчатого графика: ширина
500px, высота350px— после строки21. - Добавьте цвет фона
lightgreyдля строки с указанием авторских прав — после строки30.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
from dash import Dash, dcc, html
import plotly.express as px
import pandas as pd
ecom_sales = pd.read_csv('/usr/local/share/datasets/ecom_sales.csv')
logo_link = 'https://assets.datacamp.com/production/repositories/5893/datasets/2bac9433b0e904735feefa26ca913fba187c0d55/e_com_logo.png'
ecom_category = ecom_sales.groupby(['Major Category','Minor Category']).size().reset_index(name='Total Orders').sort_values(by='Total Orders', ascending=False).reset_index(drop=True)
top_cat = ecom_category.loc[0]['Minor Category']
ecom_bar = px.bar(ecom_category, x='Total Orders', y='Minor Category', color='Major Category')
ecom_bar.update_layout({'yaxis':{'dtick':1, 'categoryorder':'total ascending'}, 'paper_bgcolor':'rgb(224, 255, 252)'})
app = Dash()
app.layout = [
html.Img(
src=logo_link,
# Set the size of the logo
style={'____':'____', '____':'____'}),
html.H1('Top Sales Categories'),
dcc.Graph(
figure=ecom_bar,
# Set the size of the bar graph
style={'____':'____', '____':'____', 'margin':'auto'}),
html.Br(),
html.Span(children=[
'The top category was: ',
html.B(top_cat),
html.Br(),
html.I(
'Copyright E-Com INC',
# Add a background color to the copyright notice
style={'____':'____'})])
]
if __name__ == '__main__':
app.run(debug=True)