Examples¶
Line Charts¶
Bar Charts¶
Scatter Charts¶
Faceted Charts¶
df = pd.DataFrame(
{
"Category": ["A", "A", "B", "B", "C", "C"],
"Subgroup": ["X", "Y", "X", "Y", "X", "Z"],
"Binary": [True, False, True, False, True, False],
"Value": [10, 15, 20, 25, 30, 35],
}
)
df_small = pd.DataFrame(
{
"Category": ["A", "B", "B", "C"],
"Subgroup": ["X", "X", "Y", "Z"],
"Binary": [True, True, True, False],
"Value": [10, 14, 20, 30],
}
)
df["Value_string"] = df["Value"].astype(str)
df_small["Value_string"] = df["Category"].astype(str)
gochart = (
go.Chart(df)
.map(x="Category", y="Value", color="Subgroup")
.geom("bar")
.geom(
"line",
data=df_small,
map={
"tooltip": "Subgroup",
"x": "Category",
"y": "Value",
"color": "Subgroup",
},
)
.matrix(col="Subgroup", row="Binary")
)
return gochart
df = pd.DataFrame(
{
"Category": ["A", "A", "B", "B", "C", "C"],
"Subgroup": ["X", "Y", "X", "Y", "X", "Z"],
"Binary": [True, False, True, False, True, False],
"Value": [10, 15, 20, 25, 30, 35],
}
)
df_small = pd.DataFrame(
{
"Category": ["A", "B", "B", "C"],
"Subgroup": ["X", "X", "Y", "Z"],
"Binary": [True, True, True, False],
"Value": [10, 14, 20, 30],
}
)
df["Value_string"] = df["Value"].astype(str)
df_small["Value_string"] = df["Category"].astype(str)
guillaume_style = (
go.Theme()
.axis.label(color="#aa3333")
.facet.box(r=5, fill="#ffddff", stroke="#aa3333", lineWidth=2)
.facet.label.col(color="#aa3333")
.grid.facet.spacing(cols=10, rows=7)
.grid.margin(left=15, bottom=20)
)
gochart = (
go.Chart(df)
.map(x="Category", y="Value", color="Subgroup")
.geom("bar")
.geom(
"line",
data=df_small,
map={
"tooltip": "Subgroup",
"x": "Category",
"y": "Value",
"color": "Subgroup",
},
)
.facet(col="Subgroup", row="Binary")
.theme(guillaume_style)
.title(title="Bar Chart with Facets")
)
return gochart
Heatmaps¶
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
hours = [f"{h}:00" for h in range(24)]
data = pd.DataFrame(
{
"day": days * 24,
"hour": [h for h in hours for _ in range(7)],
"activity": np.random.randint(0, 100, 168),
}
)
chart = go.Chart(data).map(x="hour", y="day", z="activity").geom("tile")