Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import dash
  5. import dash_core_components as dcc
  6. import dash_html_components as html
  7. from dash.dependencies import Input, Output
  8.  
  9. import plotly.graph_objs as go
  10.  
  11. from datetime import datetime
  12.  
  13. import pandas as pd
  14.  
  15. # задаём данные для отрисовки
  16. from sqlalchemy import create_engine
  17.  
  18. # пример подключения к базе данных для Postresql
  19. # db_config = {'user': 'my_user',
  20. # 'pwd': 'my_user_password',
  21. # 'host': 'localhost',
  22. # 'port': 5432,
  23. # 'db': 'games'}
  24. # engine = create_engine('postgresql://{}:{}@{}:{}/{}'.format(db_config['user'],
  25. # db_config['pwd'],
  26. # db_config['host'],
  27. # db_config['port'],
  28. # db_config['db']))
  29. # пример подключения к базе данных для Sqlite
  30. engine = create_engine('sqlite:////db/games.db', echo=False)
  31.  
  32. # получаем сырые данные
  33. query = '''
  34. SELECT * FROM agg_games_year_genre_platform
  35. '''
  36. agg_games_year_genre_platform = pd.io.sql.read_sql(query, con=engine)
  37. agg_games_year_genre_platform['year_of_release'] = pd.to_datetime(agg_games_year_genre_platform['year_of_release'])
  38.  
  39. query = '''
  40. SELECT * FROM agg_games_year_score
  41. '''
  42. agg_games_year_score = pd.io.sql.read_sql(query, con=engine)
  43. agg_games_year_score['year_of_release'] = pd.to_datetime(agg_games_year_score['year_of_release'])
  44. # игнорируем записи без оценок
  45. agg_games_year_score = agg_games_year_score.query('avg_user_score > 0 and avg_critic_score > 0')
  46.  
  47. note = '''
  48. Этот дашборд показывает историю игрового рынка (исключая мобильные устройства).
  49. Используйте выбор интервала даты выпуска, жанра и платформы для управления дашбордом.
  50. Используйте селектор выбора режима отображения для того, чтобы показать относительные
  51. или относительные значения выпуска и продаж игр по годам.
  52. '''
  53.  
  54. # задаём лейаут
  55. external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
  56. app = dash.Dash(__name__, external_stylesheets=external_stylesheets, compress=False)
  57. app.layout = html.Div(children=[
  58.  
  59. # формируем html
  60. html.H1(children='История игрового рынка'),
  61.  
  62. # пояснения
  63. html.Label(note),
  64.  
  65. ])
  66.  
  67. if __name__ == '__main__':
  68. app.run_server(host='0.0.0.0', port=3000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement