Data Visualization
Generate grouped bar charts for comparing multiple categories side by side, perfect for multi-category comparisons and comparative analysis
Call this tool from your code in three languages.
curl -X POST 'https://api.elysiatools.com/en/api/tools/grouped-bar-chart' \
-H 'Content-Type: application/json' \
-d '{"chartData":"Multi-series JSON format:\n{"categories": ["Q1", "Q2", "Q3"],\n "series": [\n {"name": "Product A", "data": [100, 150, 120]},\n {"name": "Product B", "data": [80, 110, 140]},\n {"name": "Product C", "data": [60, 90, 110]}\n ]\n}\n\nSingle series:\n{"categories": ["A", "B", "C"],\n "series": [\n {"name": "Values", "data": [100, 150, 120]}\n ]}","chartTitle":"Enter chart title...","chartType":"vertical","barColors":"#3b82f6,#10b981,#f59e0b","backgroundColor":"#ffffff","gridColor":"#e0e0e0","barWidth":"30","groupSpacing":"30","chartHeight":"400","maxValue":0,"minValue":0,"xAxisLabel":"Categories","yAxisLabel":"Value","showGrid":true,"showValues":true,"valuePosition":"top","showLegend":true}'Send a POST request with your inputs as JSON. File parameters require a separate upload first.
POST https://api.elysiatools.com/en/api/tools/grouped-bar-chart| Name | Type | Required | Description |
|---|---|---|---|
| chartData | textarea | Yes | Multi-series data with categories and series arrays. Each series should have the same number of data points as categories. |
| chartTitle | text | No | Title that will be displayed above the chart |
| chartType | select | No | — |
| barColors | text | No | Colors for different series (comma-separated hex colors). Leave empty for default colors. |
| backgroundColor | color | No | Background color for the chart container |
| gridColor | color | No | Color for the grid lines |
| barWidth | number | No | Width of individual bars in pixels (auto-adjusts if too large) |
| groupSpacing | number | No | Spacing between different groups in pixels |
| chartHeight | number | No | Height of the chart in pixels |
| maxValue | number | No | Maximum value for axis (leave empty for auto-scale) |
| minValue | number | No | Minimum value for axis (leave empty for auto-detect) |
| xAxisLabel | text | No | Label for the X-axis |
| yAxisLabel | text | No | Label for the Y-axis |
| showGrid | checkbox | No | Display grid lines for better readability |
| showValues | checkbox | No | Display the actual values on or near bars |
| valuePosition | select | No | — |
| showLegend | checkbox | No | Display a legend below the chart |
HTML result
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Add this tool to your Model Context Protocol server so AI agents can list and call it.
Add this block to your MCP client configuration:
{
"mcpServers": {
"elysiatools-grouped-bar-chart": {
"name": "grouped-bar-chart",
"description": "Generate grouped bar charts for comparing multiple categories side by side, perfect for multi-category comparisons and comparative analysis",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=grouped-bar-chart",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}After connecting to the SSE endpoint, list the exposed tools:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoke the tool by its id, passing arguments built from its parameters:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "grouped-bar-chart",
"arguments": {
"chartData": "Multi-series JSON format:\n{"categories": ["Q1", "Q2", "Q3"],\n "series": [\n {"name": "Product A", "data": [100, 150, 120]},\n {"name": "Product B", "data": [80, 110, 140]},\n {"name": "Product C", "data": [60, 90, 110]}\n ]\n}\n\nSingle series:\n{"categories": ["A", "B", "C"],\n "series": [\n {"name": "Values", "data": [100, 150, 120]}\n ]}",
"chartTitle": "Enter chart title...",
"chartType": "vertical",
"barColors": "#3b82f6,#10b981,#f59e0b",
"backgroundColor": "#ffffff",
"gridColor": "#e0e0e0",
"barWidth": "30",
"groupSpacing": "30",
"chartHeight": "400",
"maxValue": 0,
"minValue": 0,
"xAxisLabel": "Categories",
"yAxisLabel": "Value",
"showGrid": true,
"showValues": true,
"valuePosition": "top",
"showLegend": true
}
}
}Questions or issues? Contact [email protected]