data = pd.DataFrame({"x": range(10), "y": np.random.randn(10).cumsum()})
chart = go.Chart(data).map(x="x", y="y").geom("line")
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
data = pd.DataFrame({"x": range(10), "y": np.random.randn(10).cumsum()})
chart = go.Chart(data).title("Basic Line Chart").map(x="x", y="y").geom("line")
data = pd.DataFrame(
{
"x": list(range(10)) * 3,
"y": np.random.randn(30).cumsum(),
"series": ["A"] * 10 + ["B"] * 10 + ["C"] * 10,
}
)
chart = go.Chart(data).map(x="x", y="y", color="series").geom("line")
data = pd.DataFrame({"x": range(10), "y": np.random.randn(10).cumsum()})
chart = go.Chart(data).map(x="x", y="y").geom("line").geom("point")
data = pd.DataFrame(
{"category": ["A", "B", "C", "D", "E"], "value": [23, 45, 12, 67, 34]}
)
chart = go.Chart(data).map(x="category", y="value").geom("bar")
data = pd.DataFrame(
{"category": ["A", "B", "C", "D", "E"], "value": [23, 45, 12, 67, 34]}
)
chart = go.Chart(data).map(x="value", y="category").geom("bar")
data = pd.DataFrame(
{
"category": ["A", "A", "B", "B", "C", "C"],
"group": ["X", "Y"] * 3,
"value": [10, 15, 20, 25, 30, 35],
}
)
chart = go.Chart(data).map(x="category", y="value", color="group").geom("bar")
data = pd.DataFrame({"x": np.random.randn(50), "y": np.random.randn(50)})
chart = go.Chart(data).map(x="x", y="y").geom("point")
data = pd.DataFrame(
{
"x": np.random.randn(50),
"y": np.random.randn(50),
"group": np.random.choice(["A", "B", "C"], 50),
}
)
chart = go.Chart(data).map(x="x", y="y", color="group").geom("point")
data = pd.DataFrame(
{
"x": np.random.randn(30),
"y": np.random.randn(30),
"size": np.random.randint(10, 100, 30),
}
)
chart = go.Chart(data).map(x="x", y="y", size="size").geom("point")
# Create correlation matrix data
vars = ["A", "B", "C", "D", "E"]
data = pd.DataFrame(
{
"x": vars * 5,
"y": [v for v in vars for _ in range(5)],
"value": np.random.rand(25),
}
)
chart = go.Chart(data).map(x="x", y="y", z="value").geom("tile")
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")
data = pd.DataFrame(
{
"x": list(range(10)) * 3,
"y": np.random.randn(30),
"group": ["A"] * 10 + ["B"] * 10 + ["C"] * 10,
}
)
chart = go.Chart(data).map(x="x", y="y").geom("line").facet(col="group")
data = pd.DataFrame(
{
"x": list(range(10)) * 3,
"y": np.random.randn(30),
"group": ["A"] * 10 + ["B"] * 10 + ["C"] * 10,
}
)
chart = go.Chart(data).map(x="x", y="y").geom("line").facet(row="group")
data = pd.DataFrame(
{
"x": list(range(10)) * 6,
"y": np.random.randn(60),
"row_var": (["R1"] * 10 + ["R2"] * 10) * 3,
"col_var": ["C1"] * 20 + ["C2"] * 20 + ["C3"] * 20,
}
)
chart = (
go.Chart(data)
.map(x="x", y="y")
.geom("point")
.facet(row="row_var", col="col_var")
)
x = np.linspace(0, 10, 30)
y = 2 * x + np.random.randn(30) * 2
data = pd.DataFrame({"x": x, "y": y})
# Trend line (use float to match data types)
trend = pd.DataFrame({"x": [0.0, 10.0], "y": [0.0, 20.0]})
chart = go.Chart(data).map(x="x", y="y").geom("point").geom("line", data=trend)
# Sample sales data
data = pd.DataFrame(
{
"month": ["Jan", "Feb", "Mar", "Apr", "May", "Jun"] * 2,
"sales": [120, 150, 180, 220, 280, 350, 80, 110, 130, 170, 210, 290],
"region": ["North"] * 6 + ["South"] * 6,
}
)
chart = go.Chart(data).map(x="month", y="sales", color="region").geom("bar")