# copied from ggplot2, the layout is modified to match BMH style
bmh = {
    'data': {'bar': [{'error_x': {'color': 'rgb(51,51,51)'},
                      'error_y': {'color': 'rgb(51,51,51)'},
                      'marker': {'line': {'color': 'rgb(237,237,237)', 'width': 0.5},
                                 'pattern': {'fillmode': 'overlay', 'size': 10, 'solidity': 0.2}},
                      'type': 'bar'}],
             'barpolar': [{'marker': {'line': {'color': 'rgb(237,237,237)', 'width': 0.5},
                                      'pattern': {'fillmode': 'overlay', 'size': 10, 'solidity': 0.2}},
                           'type': 'barpolar'}],
             'carpet': [{'aaxis': {'endlinecolor': 'rgb(51,51,51)',
                                   'gridcolor': 'white',
                                   'linecolor': 'white',
                                   'minorgridcolor': 'white',
                                   'startlinecolor': 'rgb(51,51,51)'},
                         'baxis': {'endlinecolor': 'rgb(51,51,51)',
                                   'gridcolor': 'white',
                                   'linecolor': 'white',
                                   'minorgridcolor': 'white',
                                   'startlinecolor': 'rgb(51,51,51)'},
                         'type': 'carpet'}],
             'choropleth': [{'colorbar': {'outlinewidth': 0,
                                          'tickcolor': 'rgb(237,237,237)',
                                          'ticklen': 6,
                                          'ticks': 'inside'},
                             'type': 'choropleth'}],
             'contour': [{'colorbar': {'outlinewidth': 0,
                                       'tickcolor': 'rgb(237,237,237)',
                                       'ticklen': 6,
                                       'ticks': 'inside'},
                          'colorscale': [[0, 'rgb(20,44,66)'], [1,
                                         'rgb(90,179,244)']],
                          'type': 'contour'}],
             'contourcarpet': [{'colorbar': {'outlinewidth': 0,
                                             'tickcolor': 'rgb(237,237,237)',
                                             'ticklen': 6,
                                             'ticks': 'inside'},
                                'type': 'contourcarpet'}],
             'heatmap': [{'colorbar': {'outlinewidth': 0,
                                       'tickcolor': 'rgb(237,237,237)',
                                       'ticklen': 6,
                                       'ticks': 'inside'},
                          'colorscale': [[0, 'rgb(20,44,66)'], [1,
                                         'rgb(90,179,244)']],
                          'type': 'heatmap'}],
             'histogram': [{'marker': {'pattern': {'fillmode': 'overlay', 'size': 10, 'solidity': 0.2}},
                            'type': 'histogram'}],
             'histogram2d': [{'colorbar': {'outlinewidth': 0,
                                           'tickcolor': 'rgb(237,237,237)',
                                           'ticklen': 6,
                                           'ticks': 'inside'},
                              'colorscale': [[0, 'rgb(20,44,66)'], [1,
                                             'rgb(90,179,244)']],
                              'type': 'histogram2d'}],
             'histogram2dcontour': [{'colorbar': {'outlinewidth': 0,
                                                  'tickcolor': 'rgb(237,237,237)',
                                                  'ticklen': 6,
                                                  'ticks': 'inside'},
                                     'colorscale': [[0, 'rgb(20,44,66)'], [1,
                                                    'rgb(90,179,244)']],
                                     'type': 'histogram2dcontour'}],
             'mesh3d': [{'colorbar': {'outlinewidth': 0, 'tickcolor': 'rgb(237,237,237)', 'ticklen': 6, 'ticks': 'inside'},
                         'type': 'mesh3d'}],
             'parcoords': [{'line': {'colorbar': {'outlinewidth': 0,
                                                  'tickcolor': 'rgb(237,237,237)',
                                                  'ticklen': 6,
                                                  'ticks': 'inside'}},
                            'type': 'parcoords'}],
             'pie': [{'automargin': True, 'type': 'pie'}],
             'scatter': [{'fillpattern': {'fillmode': 'overlay', 'size': 10, 'solidity': 0.2}, 'type': 'scatter'}],
             'scatter3d': [{'line': {'colorbar': {'outlinewidth': 0,
                                                  'tickcolor': 'rgb(237,237,237)',
                                                  'ticklen': 6,
                                                  'ticks': 'inside'}},
                            'marker': {'colorbar': {'outlinewidth': 0,
                                                    'tickcolor': 'rgb(237,237,237)',
                                                    'ticklen': 6,
                                                    'ticks': 'inside'}},
                            'type': 'scatter3d'}],
             'scattercarpet': [{'marker': {'colorbar': {'outlinewidth': 0,
                                                        'tickcolor': 'rgb(237,237,237)',
                                                        'ticklen': 6,
                                                        'ticks': 'inside'}},
                                'type': 'scattercarpet'}],
             'scattergeo': [{'marker': {'colorbar': {'outlinewidth': 0,
                                                     'tickcolor': 'rgb(237,237,237)',
                                                     'ticklen': 6,
                                                     'ticks': 'inside'}},
                             'type': 'scattergeo'}],
             'scattergl': [{'marker': {'colorbar': {'outlinewidth': 0,
                                                    'tickcolor': 'rgb(237,237,237)',
                                                    'ticklen': 6,
                                                    'ticks': 'inside'}},
                            'type': 'scattergl'}],
             'scattermapbox': [{'marker': {'colorbar': {'outlinewidth': 0,
                                                        'tickcolor': 'rgb(237,237,237)',
                                                        'ticklen': 6,
                                                        'ticks': 'inside'}},
                                'type': 'scattermapbox'}],
             'scatterpolar': [{'marker': {'colorbar': {'outlinewidth': 0,
                                                       'tickcolor': 'rgb(237,237,237)',
                                                       'ticklen': 6,
                                                       'ticks': 'inside'}},
                               'type': 'scatterpolar'}],
             'scatterpolargl': [{'marker': {'colorbar': {'outlinewidth': 0,
                                                         'tickcolor': 'rgb(237,237,237)',
                                                         'ticklen': 6,
                                                         'ticks': 'inside'}},
                                 'type': 'scatterpolargl'}],
             'scatterternary': [{'marker': {'colorbar': {'outlinewidth': 0,
                                                         'tickcolor': 'rgb(237,237,237)',
                                                         'ticklen': 6,
                                                         'ticks': 'inside'}},
                                 'type': 'scatterternary'}],
             'surface': [{'colorbar': {'outlinewidth': 0,
                                       'tickcolor': 'rgb(237,237,237)',
                                       'ticklen': 6,
                                       'ticks': 'inside'},
                          'colorscale': [[0, 'rgb(20,44,66)'], [1,
                                         'rgb(90,179,244)']],
                          'type': 'surface'}],
             'table': [{'cells': {'fill': {'color': 'rgb(237,237,237)'}, 'line': {'color': 'white'}},
                        'header': {'fill': {'color': 'rgb(217,217,217)'}, 'line': {'color': 'white'}},
                        'type': 'table'}]},
    'layout': {'annotationdefaults': {'arrowhead': 0, 'arrowwidth': 1},
               'autotypenumbers': 'strict',
               'coloraxis': {'colorbar': {'outlinewidth': 0,
                                          'tickcolor': 'rgb(237,237,237)',
                                          'ticklen': 6,
                                          'ticks': 'inside'}},
               'colorscale': {'sequential': [[0, 'rgb(20,44,66)'], [1, 'rgb(90,179,244)']],
                              'sequentialminus': [[0, 'rgb(20,44,66)'], [1, 'rgb(90,179,244)']]},
               'colorway': ['#F8766D', '#A3A500', '#00BF7D', '#00B0F6', '#E76BF3'],
               'font': {'color': 'rgb(51,51,51)', 'size': 14},
               'title_x': 0.08,
               'margin': { 'l': 10, 'r': 10, 't': 40, 'b': 20 },
               'geo': {'bgcolor': 'white',
                       'lakecolor': 'white',
                       'landcolor': 'rgb(237,237,237)',
                       'showlakes': True,
                       'showland': True,
                       'subunitcolor': 'white'},
               'hoverlabel': {'align': 'left'},
               'hovermode': 'closest',
               'paper_bgcolor': 'white',
               'plot_bgcolor': 'rgb(237,237,237)',
               'polar': {'angularaxis': {'gridcolor': 'white',
                                         'linecolor': 'white',
                                         'showgrid': True,
                                         'tickcolor': 'rgb(51,51,51)',
                                         'ticks': 'outside'},
                         'bgcolor': 'rgb(237,237,237)',
                         'radialaxis': {'gridcolor': 'white',
                                        'linecolor': 'white',
                                        'showgrid': True,
                                        'tickcolor': 'rgb(51,51,51)',
                                        'ticks': 'outside'}},
               'scene': {'dragmode': 'turntable',
                         'xaxis': {'backgroundcolor': 'rgb(237,237,237)',
                                   'gridcolor': 'white',
                                   'gridwidth': 2,
                                   'linecolor': 'white',
                                   'showbackground': True,
                                   'showgrid': True,
                                   'tickcolor': 'rgb(51,51,51)',
                                   'ticks': 'outside',
                                   'zerolinecolor': 'white'},
                         'yaxis': {'backgroundcolor': 'rgb(237,237,237)',
                                   'gridcolor': 'white',
                                   'gridwidth': 2,
                                   'linecolor': 'white',
                                   'showbackground': True,
                                   'showgrid': True,
                                   'tickcolor': 'rgb(51,51,51)',
                                   'ticks': 'outside',
                                   'zerolinecolor': 'white'},
                         'zaxis': {'backgroundcolor': 'rgb(237,237,237)',
                                   'gridcolor': 'white',
                                   'gridwidth': 2,
                                   'linecolor': 'white',
                                   'showbackground': True,
                                   'showgrid': True,
                                   'tickcolor': 'rgb(51,51,51)',
                                   'ticks': 'outside',
                                   'zerolinecolor': 'white'}},
               'shapedefaults': {'fillcolor': 'black', 'line': {'width': 0}, 'opacity': 0.3},
               'ternary': {'aaxis': {'gridcolor': 'white',
                                     'linecolor': 'white',
                                     'showgrid': True,
                                     'tickcolor': 'rgb(51,51,51)',
                                     'ticks': 'outside'},
                           'baxis': {'gridcolor': 'white',
                                     'linecolor': 'white',
                                     'showgrid': True,
                                     'tickcolor': 'rgb(51,51,51)',
                                     'ticks': 'outside'},
                           'bgcolor': 'rgb(237,237,237)',
                           'caxis': {'gridcolor': 'white',
                                     'linecolor': 'white',
                                     'showgrid': True,
                                     'tickcolor': 'rgb(51,51,51)',
                                     'ticks': 'outside'}},
               'xaxis': {'automargin': True,
                         'griddash': 'dot',
                         'gridcolor': '#B2B2B2',
                         'linecolor': '#B2B2B2',
                         'linewidth': 2,
                         'showline': True,
                         'mirror': True,
                         'showgrid': True,
                         'tickcolor': 'rgb(51,51,51)',
                         'ticks': 'inside',
                         'tickwidth': 2,
                         'ticklen': 6,
                         'title': {'standoff': 15},
                         'zeroline': False,
                         'zerolinecolor': 'white' },
               'yaxis': {'automargin': True,
                         'griddash': 'dot',
                         'gridcolor': '#B2B2B2',
                         'linecolor': '#B2B2B2',
                         'linewidth': 2,
                         'showline': True,
                         'mirror': True,
                         'showgrid': True,
                         'tickcolor': 'rgb(51,51,51)',
                         'ticks': 'inside',
                         'tickwidth': 2,
                         'ticklen': 6,
                         'title': {'standoff': 15},
                         'zeroline': False,
                         'zerolinecolor': 'white' }
               }
}
