| """Plotly styling helpers.""" |
|
|
| COLORS = { |
| "navy": "#1B365D", |
| "teal": "#0E7C7B", |
| "accent": "#C45C26", |
| "gold": "#D4A017", |
| "green": "#2F855A", |
| "red": "#C53030", |
| "slate": "#4A5568", |
| "bg": "white", |
| "text": "#111827", |
| "tick": "#374151", |
| "grid": "#E5E7EB", |
| "axis": "#D1D5DB", |
| } |
|
|
| PALETTE = [ |
| "#1B365D", |
| "#0E7C7B", |
| "#C45C26", |
| "#D4A017", |
| "#2F855A", |
| "#6B46C1", |
| "#2B6CB0", |
| "#C53030", |
| "#4A5568", |
| "#319795", |
| ] |
|
|
|
|
| def fmt_fig(fig, h=None): |
| fig.update_layout( |
| font=dict(color=COLORS["text"], family="Inter, Arial, sans-serif", size=12), |
| paper_bgcolor=COLORS["bg"], |
| plot_bgcolor=COLORS["bg"], |
| hoverlabel=dict(font=dict(color="#ffffff", size=11), bgcolor=COLORS["navy"]), |
| legend=dict( |
| font=dict(color=COLORS["text"], size=11), |
| bgcolor="rgba(255,255,255,0.88)", |
| bordercolor=COLORS["grid"], |
| borderwidth=1, |
| ), |
| coloraxis_colorbar=dict( |
| tickfont=dict(color=COLORS["tick"], size=10), |
| title_font=dict(color=COLORS["text"], size=11), |
| ), |
| margin=dict(l=40, r=20, t=50, b=40), |
| ) |
| if h: |
| fig.update_layout(height=h) |
| fig.update_xaxes( |
| tickfont=dict(color=COLORS["tick"], size=11), |
| title_font=dict(color=COLORS["text"], size=12), |
| gridcolor=COLORS["grid"], |
| linecolor=COLORS["axis"], |
| zerolinecolor=COLORS["grid"], |
| ) |
| fig.update_yaxes( |
| tickfont=dict(color=COLORS["tick"], size=11), |
| title_font=dict(color=COLORS["text"], size=12), |
| gridcolor=COLORS["grid"], |
| linecolor=COLORS["axis"], |
| zerolinecolor=COLORS["grid"], |
| ) |
| return fig |
|
|