Plotly template SSB design¶
A Python library that provides a custom Plotly template for visualising data with consistent styling and layout. The font and colours follow the SSB Design-system https://design.ssb.no
This is not an official template. The template is still under development.
Features¶
Custom Plotly Template that can be applied to Poltly figures.
Includes predefined color schemes, fonts, and other styling options.
Compatible with Plotly go chart types, including bar, line, scatter, and Plotly tables.
Requirements¶
Python 3.x
Plotly 5.x or higher
Installation¶
You can install Plotly template SSB design via pip from PyPI:
pip install ssb-plotly-template
Install with Poetry:
poetry add ssb-plotly-template
Usage¶
After installing the library, you can apply the Plotly template to your Plotly figures. How to use it:
Import both Plotly and ssb-plotly-template
Create a Plotly figure with the ssb-plotly-template template.
Example¶
Import libraries and create data:
import ssb_plotly_template.ssb_plotly_template
import plotly.graph_objects as go
import pandas as pd
data = {
"Category": ["A", "B", "C", "D"],
"Values": [10, 23, 15, 7],
"Values2": [13, 22, 25, 17],
"Values3": [23, 23, 28, 27],
"Dates": ["2024-10-01", "2024-10-05", "2024-10-10", "2024-10-15"],
}
df = pd.DataFrame(data)
df["Dates"] = pd.to_datetime(df["Dates"])
Create Plotly Go bar chart with ssb-plotly-template.
bar_chart = go.Figure(
data=[go.Bar(x=df["Category"], y=df["Values"])],
layout_title_text="Bar Chart",
layout_template="ssb_plotly_template",
)
bar_chart.show()
Create timeline (scatter plot) with multiple lines with ssb-plotly-template.
timeline_chart = go.Figure(
data=[
go.Scatter(x=df["Dates"], y=df["Values"], mode="lines+markers", name="Line 1"),
go.Scatter(x=df["Dates"], y=df["Values2"], mode="lines+markers", name="Line 2"),
go.Scatter(x=df["Dates"], y=df["Values3"], mode="lines+markers", name="Line 2"),
],
layout_title_text="Timeline",
layout_template="ssb_plotly_template",
)
timeline_chart.show()
Create Plotly Table with ssb-plotly-template.
fig_table = go.Figure(
data=[
go.Table(
header=dict(values=list(df.columns)),
cells=dict(values=[df[col].tolist() for col in df.columns]),
)
]
)
fig_table.update_layout(template="ssb_plotly_template", title="Table")
fig_table.show()
Contributing¶
Contributions are very welcome. To learn more, see the Contributor Guide.
License¶
Distributed under the terms of the MIT license, Plotly template SSB design is free and open source software.
Issues¶
If you encounter any problems, please file an issue along with a detailed description.
Credits¶
This project was generated from Statistics Norway’s SSB PyPI Template.