Hey @klautier ,
I totally understand your issue — it looks like you’re trying to achieve a specific chart style/multiple values shown in axis that the default Retool chart options can’t fully replicate.
To get more control and customize your visualization exactly how you want, I recommend using a Plotly JSON Chart inside Retool. With Plotly, you can fully customize colors, labels, backgrounds, and more.
Here’s an example based on your dataset and the chart you shared in your image
Chart Transformer Code
const raw = [
{ Invoiced: "2024-08-01", Spend: 0 },
{ Invoiced: "2024-09-01", Spend: 0 },
{ Invoiced: "2024-10-01", Spend: 0 },
{ Invoiced: "2024-11-01", Spend: 0 },
{ Invoiced: "2024-12-01", Spend: 0 },
{ Invoiced: "2025-01-01", Spend: 0 },
{ Invoiced: "2025-02-01", Spend: 0 },
{ Invoiced: "2025-03-01", Spend: 0 },
{ Invoiced: "2025-04-01", Spend: 0 },
{ Invoiced: "2025-05-01", Spend: 0 },
{ Invoiced: "2025-06-01", Spend: 0 },
{ Invoiced: "2025-07-01", Spend: 0 },
{ Invoiced: "2025-08-01", Spend: 0 },
{ Invoiced: "2025-09-01", Spend: 0 },
{ Invoiced: "2025-10-01", Spend: 0 }
];
// Map data
const x = raw.map(d => d.Invoiced);
const y = raw.map(d => d.Spend);
// Define trace
const traces = [
{
name: "Spend",
type: "scatter",
mode: "lines+markers+text",
x,
y,
line: { color: "#f5a623", width: 3 }, // orange line
marker: { size: 6, color: "#0047ff" }, // blue dots
text: y.map(v => `$${v}`), // dollar labels
textposition: "top center"
}
];
// Return chart config
return {
data: traces,
layout: {
title: {
text: "Monthly Invoice Spend",
font: { size: 18, color: "#111" }
},
plot_bgcolor: "#ffffff",
paper_bgcolor: "#ffffff",
font: { color: "#111" },
xaxis: {
title: "",
tickangle: -45,
showgrid: true,
gridcolor: "#e5e5e5"
},
yaxis: {
title: "",
showgrid: true,
gridcolor: "#e5e5e5",
tickprefix: "$"
},
margin: { l: 40, r: 20, t: 50, b: 60 }
},
config: { responsive: true }
};
Chart result:
Hope this helps!