Elysia Tools Docs
EN
Language
ZHESPTRUFRDEEN
Back to site
Browse tools

Data Visualization

Waterfall Chart Generator

Create waterfall charts to visualize cumulative changes with positive/negative value distinction and subtotal display

html· HTML resultOpen tool

Quick start

Call this tool from your code in three languages.

cURL
curl -X POST 'https://api.elysiatools.com/en/api/tools/waterfall-chart-generator' \
  -H 'Content-Type: application/json' \
  -d '{"chartTitle":"Enter chart title...","dataItems":"JSON format example:\n[{"label": "Starting Value", "value": 1000, "isSubtotal": true},\n{"label": "Revenue", "value": 500},\n{"label": "Costs", "value": -200},\n{"label": "Expenses", "value": -150},\n{"label": "Net Profit", "value": 150, "isSubtotal": true}]","xAxisLabel":"Categories","yAxisLabel":"Values","positiveColor":"#2196F3","negativeColor":"#F44336","totalColor":"#4CAF50","connectingLineColor":"#666666","barWidth":"60","showValues":true,"showTotal":true,"showConnectingLines":true,"valueFormat":"integer","fontSize":"12","titleSize":"18","fontFamily":"Arial","chartWidth":"800","chartHeight":"500","backgroundColor":"#ffffff","gridColor":"#e0e0e0","animationEnabled":true,"animationDuration":"1000"}'

© 2026 Elysia Tools. Developer documentation.

Back to siteBrowse tools

API reference

Send a POST request with your inputs as JSON. File parameters require a separate upload first.

Endpoint

HTTP
POST https://api.elysiatools.com/en/api/tools/waterfall-chart-generator

Parameters

NameTypeRequiredDescription
chartTitletextNoTitle that will be displayed above the waterfall chart
dataItemstextareaYesData items as JSON array with label, value, and optional isSubtotal flag
xAxisLabeltextNoLabel for the X-axis
yAxisLabeltextNoLabel for the Y-axis
positiveColorcolorNoColor for positive value bars
negativeColorcolorNoColor for negative value bars
totalColorcolorNoColor for subtotal and total bars
connectingLineColorcolorNoColor for connecting lines between bars
barWidthnumberNoWidth of each bar in pixels
showValuescheckboxNoDisplay values on top of bars
showTotalcheckboxNoAutomatically add final total bar
showConnectingLinescheckboxNoDisplay connecting lines between bars
valueFormatselectNo—
fontSizenumberNoFont size for labels and values
titleSizenumberNoFont size for the chart title
fontFamilytextNoFont family for text elements
chartWidthnumberNoWidth of the chart in pixels
chartHeightnumberNoHeight of the chart in pixels
backgroundColorcolorNoBackground color of the chart
gridColorcolorNoColor of grid lines
animationEnabledcheckboxNoAnimate the chart when it loads
animationDurationnumberNoAnimation duration in milliseconds

Response format

HTML result

JSON
{
  "result": "<div>Processed HTML content</div>",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}

MCP integration

Add this tool to your Model Context Protocol server so AI agents can list and call it.

Server configuration

Add this block to your MCP client configuration:

mcp.json
{
  "mcpServers": {
    "elysiatools-waterfall-chart-generator": {
      "name": "waterfall-chart-generator",
      "description": "Create waterfall charts to visualize cumulative changes with positive/negative value distinction and subtotal display",
      "baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=waterfall-chart-generator",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

List available tools

After connecting to the SSE endpoint, list the exposed tools:

tools/list
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

Call this tool

Invoke the tool by its id, passing arguments built from its parameters:

tools/call
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "waterfall-chart-generator",
    "arguments": {
  "chartTitle": "Enter chart title...",
  "dataItems": "JSON format example:\n[{&quot;label&quot;: &quot;Starting Value&quot;, &quot;value&quot;: 1000, &quot;isSubtotal&quot;: true},\n{&quot;label&quot;: &quot;Revenue&quot;, &quot;value&quot;: 500},\n{&quot;label&quot;: &quot;Costs&quot;, &quot;value&quot;: -200},\n{&quot;label&quot;: &quot;Expenses&quot;, &quot;value&quot;: -150},\n{&quot;label&quot;: &quot;Net Profit&quot;, &quot;value&quot;: 150, &quot;isSubtotal&quot;: true}]",
  "xAxisLabel": "Categories",
  "yAxisLabel": "Values",
  "positiveColor": "#2196F3",
  "negativeColor": "#F44336",
  "totalColor": "#4CAF50",
  "connectingLineColor": "#666666",
  "barWidth": "60",
  "showValues": true,
  "showTotal": true,
  "showConnectingLines": true,
  "valueFormat": "integer",
  "fontSize": "12",
  "titleSize": "18",
  "fontFamily": "Arial",
  "chartWidth": "800",
  "chartHeight": "500",
  "backgroundColor": "#ffffff",
  "gridColor": "#e0e0e0",
  "animationEnabled": true,
  "animationDuration": "1000"
}
  }
}
Chain multiple tools in one session with a comma-separated toolId list, e.g. /mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp (max 20).

Questions or issues? Contact [email protected]

Browse tools
Open tool