# -*- coding: utf-8 -*- def default_graph_layout_options(): """ Default layout options for all graphs. :returns: a dict of default options. """ return { 'paper_bgcolor': 'rgb(52, 58, 64)', 'plot_bgcolor': 'rgb(52, 58, 64)', 'font': { 'color': 'rgba(255, 255, 255, 1)', # Bootstrap 4 font family. 'family': '-apple-system, BlinkMacSystemFont, "Segoe UI", ' 'Roboto, "Helvetica Neue", Arial, sans-serif, ' '"Apple Color Emoji", "Segoe UI Emoji", ' '"Segoe UI Symbol"', 'size': 14, }, 'margin': {'b': 80, 't': 80}, 'xaxis': { 'titlefont': { 'color': 'rgba(255, 255, 255, 0.5)' }, 'gridcolor': 'rgba(0, 0, 0, 0.25)', 'zerolinecolor': 'rgba(0, 0, 0, 0.5)' }, 'yaxis': { 'titlefont': { 'color': 'rgba(255, 255, 255, 0.5)' }, 'gridcolor': 'rgba(0, 0, 0, 0.25)', 'zerolinecolor': 'rgba(0, 0, 0, 0.5)' } } def rangeselector_date(): """ Graph date range selectors settings for 1w, 2w, 1m, 3m, and all. :returns: a dict of settings for the selectors. """ return { 'bgcolor': 'rgb(35, 149, 86)', 'activecolor': 'rgb(25, 108, 62)', 'buttons': [ { 'count': 7, 'label': '1w', 'step': 'day', 'stepmode': 'backward' }, { 'count': 14, 'label': '2w', 'step': 'day', 'stepmode': 'backward' }, { 'count': 1, 'label': '1m', 'step': 'month', 'stepmode': 'backward' }, { 'count': 3, 'label': '3m', 'step': 'month', 'stepmode': 'backward' }, { 'step': 'all' } ] } def split_graph_output(output): """ Split out of a Plotly graph in to html and javascript. :param output: a string of html and javascript comprising the graph. :returns: a tuple of the the graph's html and javascript. """ html, js_graph, js_listener = output.split('