# Chart Generator

## Links

- Product page URL: https://www.agentpmt.com/marketplace/chart-generator
- Product markdown URL: https://www.agentpmt.com/marketplace/chart-generator?format=agent-md
- Product JSON URL: https://www.agentpmt.com/marketplace/chart-generator?format=agent-json

## Overview

- Product ID: 69836138abdf9c195542120a
- Vendor: Apoth3osis
- Type: function
- Unit type: request
- Price: 200 credits
- Categories: Financial Modeling, Data Science, Financial Data, Developer Tools, Automation, Data Processing, Color & Design Utilities, Mapping & Visualization, Technical Market Analysis, Graphic Design & Layout, Image Generation & Manipulation, AI Copywriting & Text Generation, Blog & Article Writing
- Generated at: 2026-05-21T08:23:08.759Z

### Page Description

Generate modern, professional charts and graphs from data. Supports multiple chart types including bar, line, pie, scatter, doughnut, radar, and more. Features five preset themes for different use cases: Corporate (professional blues and grays), Modern Dark (presentation-ready with vibrant accents), Minimal (publication-quality with subtle colors), Colorful (marketing-friendly with distinct hues), and Academic (colorblind-accessible). Charts can be exported in multiple formats including PNG, SVG, PDF, and WebP. The tool handles custom styling, responsive sizing, gradient fills, data labels, and complex configurations. Perfect for creating data visualizations for reports, presentations, dashboards, social media, and documentation. Returns chart images as signed URLs with configurable expiration or as base64-encoded data for immediate embedding.

### Agent Description

Create many types of charts and graphs from data with built in styling and theme -  including bar, line, pie, scatter, doughnut, radar, and more. Perfect for creating data visualizations for reports, presentations, dashboards, social media, and documentation.

## Details

### Details

Generate modern, professional charts and graphs from data. Supports multiple chart types including bar, line, pie, scatter, doughnut, radar, and more. Features five preset themes for different use cases: Corporate (professional blues and grays), Modern Dark (presentation-ready with vibrant accents), Minimal (publication-quality with subtle colors), Colorful (marketing-friendly with distinct hues), and Academic (colorblind-accessible). Charts can be exported in multiple formats including PNG, SVG, PDF, and WebP. The tool handles custom styling, responsive sizing, gradient fills, data labels, and complex configurations. Perfect for creating data visualizations for reports, presentations, dashboards, social media, and documentation. Returns chart images as signed URLs with configurable expiration or as base64-encoded data for immediate embedding.

### Actions

- `generate_chart` (2 credits): Generate a modern, professional chart image from structured data. Supports 9 chart types (bar, line, pie, doughnut, scatter, bubble, radar, polarArea, horizontalBar), 5 preset themes plus custom styling, and 4 export formats (PNG, SVG, PDF, WebP). Returns chart as a cloud-stored file URL or base64-encoded data.

### Use Cases

Create business dashboards with professional charts, Generate marketing reports with colorful visualizations, Build presentation slides with modern dark-themed graphs, Produce academic papers with publication-quality figures, Design social media infographics with custom styling, Automate report generation with data-driven charts, Create real-time monitoring dashboards, Generate email campaign analytics visualizations, Build data analysis notebooks with embedded charts, Produce financial reports with professional formatting

### Workflows Using This Tool

#### Expense Report Processor

Processes employee expense reports by accepting receipt uploads, extracting receipt data via OCR, categorizing expenses, booking them to Zoho Books with correct expense accounts, generating an expense breakdown chart, and sending the compiled report for manager approval. Streamlines the entire expense reimbursement process.

- Page URL: https://www.agentpmt.com/agent-workflow-skills/expense-report-processor
- Markdown URL: https://www.agentpmt.com/agent-workflow-skills/expense-report-processor?format=agent-md
- Published: 2026-04-19T18:29:42.593Z

#### Bank Statement OCR and Expense Categorization

Accepts uploaded bank statements, extracts transactions via OCR, categorizes each transaction by expense type, logs categorized data to a spreadsheet, and generates a spending breakdown chart. Perfect for personal finance analysis or small business bookkeeping.

- Page URL: https://www.agentpmt.com/agent-workflow-skills/bank-statement-ocr-and-expense-categorization
- Markdown URL: https://www.agentpmt.com/agent-workflow-skills/bank-statement-ocr-and-expense-categorization?format=agent-md
- Published: 2026-04-19T18:29:42.593Z

#### Rental Property Cash Flow Analyzer

Analyzes rental property investment viability by calculating mortgage payments, computing net operating income and cash-on-cash returns, projecting cash flows, generating return visualizations, creating a comprehensive investment analysis report, and delivering it to the investor. Essential for real estate investors evaluating rental property acquisitions.

- Page URL: https://www.agentpmt.com/agent-workflow-skills/rental-property-cash-flow-analyzer
- Markdown URL: https://www.agentpmt.com/agent-workflow-skills/rental-property-cash-flow-analyzer?format=agent-md
- Published: 2026-02-18T16:43:43.406Z

#### Country Data Snapshot

Fetches population and demographics data for a specified country, analyzes key trends, and generates a chart visualization of the results. No credentials or user accounts required.

- Page URL: https://www.agentpmt.com/agent-workflow-skills/country-data-snapshot
- Markdown URL: https://www.agentpmt.com/agent-workflow-skills/country-data-snapshot?format=agent-md
- Published: 2026-02-17T04:09:34.899Z

### Related Content

No related content is currently linked to this product.

## Integration Details

### DynamicMCP

- Setup page URL: https://www.agentpmt.com/dynamic-mcp
- Claude setup guide: https://www.agentpmt.com/dynamic-mcp?platform=claude#videos
- ChatGPT setup guide: https://www.agentpmt.com/dynamic-mcp?platform=chatgpt#videos
- Cursor setup guide: https://www.agentpmt.com/dynamic-mcp?platform=cursor#videos
- Windsurf setup guide: https://www.agentpmt.com/dynamic-mcp?platform=windsurf#videos

STDIO connector for Claude Code, Codex, Cursor, Zed, and other LLMs that require STDIO or custom connections. This lightweight connector routes requests to `https://api.agentpmt.com/mcp`. All tool execution happens in the cloud and the server cannot edit any files on your computer.

```bash
npm install -g @agentpmt/mcp-router
agentpmt-setup
```

### REST API

The live page renders cURL, Python, JavaScript, and Node.js examples. Logged-in users see those examples prefilled with their own API and budget credentials.

- Purchase endpoint: https://api.agentpmt.com/products/purchase
- Authorization format: `Bearer <base64(apiKey:budgetKey)>`

```bash
curl -X POST "https://api.agentpmt.com/products/purchase" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eW91ci1hcGkta2V5LWhlcmU6eW91ci1idWRnZXQta2V5LWhlcmU=" \
  -d '{
    "product_id": "69836138abdf9c195542120a",
    "parameters": {
      "action": "generate_chart",
      "chart_type": "bar",
      "data": {},
      "theme": "corporate",
      "width": 600,
      "height": 400,
      "background_color": "white",
      "output_format": "png",
      "device_pixel_ratio": 1,
      "return_base64": false,
      "store_file": true,
      "expiration_days": 7
    }
  }'
```

### Autonomous Agents

Do not use the abbreviated instructions in this product markdown for wallet-based invocation. Retrieve the full External Agent API markdown document instead.

- External Agent API page URL: https://www.agentpmt.com/external-agent-api
- External Agent API markdown URL: https://www.agentpmt.com/external-agent-api?format=agent-md

### Schema

#### Parameters

- Schema type: actions

```json
{
  "actions": {
    "generate_chart": {
      "description": "Generate a modern, professional chart image from structured data. Supports 9 chart types (bar, line, pie, doughnut, scatter, bubble, radar, polarArea, horizontalBar), 5 preset themes plus custom styling, and 4 export formats (PNG, SVG, PDF, WebP). Returns chart as a cloud-stored file URL or base64-encoded data.",
      "properties": {
        "chart_type": {
          "type": "string",
          "description": "Type of chart to generate",
          "required": true,
          "enum": [
            "bar",
            "line",
            "pie",
            "doughnut",
            "scatter",
            "bubble",
            "radar",
            "polarArea",
            "horizontalBar"
          ]
        },
        "data": {
          "type": "object",
          "description": "Chart.js compatible data object. Must contain 'labels' (array of strings) and/or 'datasets' (array of dataset objects). Each dataset has 'label' (string), 'data' (array of numbers or point objects), and optional color overrides.",
          "required": true,
          "properties": {
            "labels": {
              "type": "array",
              "description": "Array of label strings for chart categories/x-axis",
              "required": false,
              "items": {
                "type": "string"
              }
            },
            "datasets": {
              "type": "array",
              "description": "Array of dataset objects, each with label, data, and optional styling",
              "required": true,
              "items": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Dataset display name",
                    "required": false
                  },
                  "data": {
                    "type": "array",
                    "description": "Array of numeric values or point objects ({x, y} for scatter/bubble)",
                    "required": true,
                    "items": {
                      "type": "number"
                    }
                  },
                  "backgroundColor": {
                    "type": "string",
                    "description": "Background color override for this dataset",
                    "required": false
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Border color override for this dataset",
                    "required": false
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels",
                    "required": false
                  }
                }
              }
            }
          }
        },
        "theme": {
          "type": "string",
          "description": "Preset theme: 'corporate' (professional blues/grays), 'modern_dark' (dark background, vibrant accents), 'minimal' (black/white/gray), 'colorful' (vibrant marketing colors), 'academic' (colorblind-accessible), 'custom' (no preset, use custom_options)",
          "required": false,
          "default": "corporate",
          "enum": [
            "corporate",
            "modern_dark",
            "minimal",
            "colorful",
            "academic",
            "custom"
          ]
        },
        "width": {
          "type": "integer",
          "description": "Chart width in pixels (100-2000)",
          "required": false,
          "default": 600,
          "minimum": 100,
          "maximum": 2000
        },
        "height": {
          "type": "integer",
          "description": "Chart height in pixels (100-2000)",
          "required": false,
          "default": 400,
          "minimum": 100,
          "maximum": 2000
        },
        "title": {
          "type": "string",
          "description": "Chart title text displayed on the chart",
          "required": false
        },
        "background_color": {
          "type": "string",
          "description": "Background color. Accepts named colors ('white', 'transparent'), HEX ('#FFFFFF'), RGB ('rgb(255,255,255)'), or HSL",
          "required": false,
          "default": "white"
        },
        "output_format": {
          "type": "string",
          "description": "Output format for the chart image: 'png' (raster), 'svg' (vector), 'pdf' (document), 'webp' (compressed)",
          "required": false,
          "default": "png",
          "enum": [
            "png",
            "svg",
            "pdf",
            "webp"
          ]
        },
        "device_pixel_ratio": {
          "type": "integer",
          "description": "Device pixel ratio: 1 for normal displays, 2 for retina/high-DPI",
          "required": false,
          "default": 1,
          "enum": [
            1,
            2
          ]
        },
        "custom_options": {
          "type": "object",
          "description": "Custom Chart.js options object to override theme defaults. Supports any Chart.js 3.x/4.x option (plugins, scales, etc.)",
          "required": false
        },
        "return_base64": {
          "type": "boolean",
          "description": "If true, returns base64-encoded image data instead of a file URL. Useful for embedding in emails or immediate display",
          "required": false,
          "default": false
        },
        "store_file": {
          "type": "boolean",
          "description": "If true, stores the chart in cloud storage and returns a signed download URL",
          "required": false,
          "default": true
        },
        "expiration_days": {
          "type": "integer",
          "description": "Number of days until the stored file expires (1-7)",
          "required": false,
          "default": 7,
          "minimum": 1,
          "maximum": 7
        }
      }
    }
  },
  "properties": {
    "action": {
      "type": "string",
      "description": "Action to perform: get_instructions (returns documentation) or generate_chart (creates chart)",
      "required": true,
      "default": "generate_chart",
      "enum": [
        "get_instructions",
        "generate_chart"
      ]
    },
    "chart_type": {
      "type": "string",
      "description": "Type of chart to generate",
      "required": false,
      "enum": [
        "bar",
        "line",
        "pie",
        "doughnut",
        "scatter",
        "bubble",
        "radar",
        "polarArea",
        "horizontalBar"
      ]
    },
    "data": {
      "type": "object",
      "description": "Chart.js compatible data object with labels and datasets",
      "required": false
    },
    "theme": {
      "type": "string",
      "description": "Preset theme for styling the chart",
      "required": false,
      "default": "corporate",
      "enum": [
        "corporate",
        "modern_dark",
        "minimal",
        "colorful",
        "academic",
        "custom"
      ]
    },
    "width": {
      "type": "integer",
      "description": "Chart width in pixels",
      "required": false,
      "default": 600,
      "minimum": 100,
      "maximum": 2000
    },
    "height": {
      "type": "integer",
      "description": "Chart height in pixels",
      "required": false,
      "default": 400,
      "minimum": 100,
      "maximum": 2000
    },
    "title": {
      "type": "string",
      "description": "Chart title text",
      "required": false
    },
    "background_color": {
      "type": "string",
      "description": "Background color (RGB, HEX, HSL, or named color)",
      "required": false,
      "default": "white"
    },
    "format": {
      "type": "string",
      "description": "Output format for the chart image",
      "required": false,
      "default": "png",
      "enum": [
        "png",
        "svg",
        "pdf",
        "webp"
      ]
    },
    "device_pixel_ratio": {
      "type": "number",
      "description": "Device pixel ratio (1 for normal, 2 for retina)",
      "required": false,
      "default": 1,
      "enum": [
        1,
        2
      ]
    },
    "custom_options": {
      "type": "object",
      "description": "Custom Chart.js options to override theme defaults",
      "required": false
    },
    "return_base64": {
      "type": "boolean",
      "description": "If true, returns base64-encoded image data instead of URL",
      "required": false
    },
    "store_file": {
      "type": "boolean",
      "description": "If true, stores file in cloud storage and returns signed URL",
      "required": false,
      "default": true
    },
    "expiration_days": {
      "type": "integer",
      "description": "Number of days until stored file expires (1-7)",
      "required": false,
      "default": 7,
      "minimum": 1,
      "maximum": 7
    }
  }
}
```

### Usage Instructions

# Chart Generator - Tool Instructions

## Overview
Generate modern, professional charts and graphs from data. Supports 9 chart types (bar, line, pie, doughnut, scatter, bubble, radar, polar area, horizontal bar), 5 preset themes plus custom styling, and 4 export formats (PNG, SVG, PDF, WebP). Charts can be returned as cloud-stored file URLs or base64-encoded data for immediate embedding. Powered by QuickChart API (Chart.js compatible).

---

## Actions

### generate_chart
Generate a chart image from structured data with theme and format options.

**Required Parameters:**
- `chart_type` (string): Type of chart. One of: `"bar"`, `"line"`, `"pie"`, `"doughnut"`, `"scatter"`, `"bubble"`, `"radar"`, `"polarArea"`, `"horizontalBar"`
- `data` (object): Chart.js compatible data object. Must contain `labels` (array of strings) and/or `datasets` (array of dataset objects). Each dataset has `label` (string), `data` (array of numbers or point objects), and optional color overrides (`backgroundColor`, `borderColor`, `borderWidth`).

**Optional Parameters:**
- `theme` (string, default: `"corporate"`): Preset theme. One of:
  - `"corporate"` - Professional blues/grays, white background, top legend. Best for business reports.
  - `"modern_dark"` - Dark background (#1E1E1E) with vibrant accent colors, bottom legend. Best for presentations.
  - `"minimal"` - Black/white/gray tones, very subtle grid. Best for publications.
  - `"colorful"` - Vibrant pink/blue/yellow/teal/purple/orange. Best for marketing and social media.
  - `"academic"` - Colorblind-accessible palette (blue, orange, green, purple, brown, gray), black grid. Best for scientific publications.
  - `"custom"` - No preset applied; use `custom_options` to style from scratch.
- `width` (integer, default: 600, range: 100-2000): Chart width in pixels.
- `height` (integer, default: 400, range: 100-2000): Chart height in pixels.
- `title` (string): Chart title text displayed on the chart.
- `background_color` (string, default: `"white"`): Background color. Accepts named colors (`"white"`, `"transparent"`), HEX (`"#FFFFFF"`), RGB (`"rgb(255,255,255)"`), or HSL.
- `output_format` (string, default: `"png"`): Output format. One of: `"png"` (raster), `"svg"` (vector, scalable), `"pdf"` (document), `"webp"` (compressed).
- `device_pixel_ratio` (integer, default: 1): `1` for normal displays, `2` for retina/high-DPI displays.
- `custom_options` (object): Custom Chart.js options object to override theme defaults. Supports any Chart.js 3.x/4.x option (plugins, scales, etc.).
- `return_base64` (boolean, default: false): If true, returns base64-encoded image data instead of a file URL. Useful for embedding in emails or immediate display.
- `store_file` (boolean, default: true): If true, stores the chart in cloud storage and returns a signed download URL.
- `expiration_days` (integer, default: 7, range: 1-7): Number of days until the stored file expires and is automatically deleted.

**Example - Simple Bar Chart:**
```json
{
  "action": "generate_chart",
  "chart_type": "bar",
  "data": {
    "labels": ["Q1", "Q2", "Q3", "Q4"],
    "datasets": [{"label": "Revenue", "data": [45000, 52000, 48000, 61000]}]
  },
  "title": "Quarterly Revenue 2025",
  "theme": "corporate",
  "width": 800,
  "height": 500
}
```

**Example - Multi-Dataset Line Chart (Dark Theme, Retina):**
```json
{
  "action": "generate_chart",
  "chart_type": "line",
  "data": {
    "labels": ["Jan", "Feb", "Mar", "Apr", "May", "Jun"],
    "datasets": [
      {"label": "Product A", "data": [12, 19, 15, 22, 28, 25]},
      {"label": "Product B", "data": [8, 14, 18, 16, 20, 24]}
    ]
  },
  "title": "Product Sales Comparison",
  "theme": "modern_dark",
  "width": 1000,
  "height": 600,
  "output_format": "png",
  "device_pixel_ratio": 2
}
```

**Example - Pie Chart (Colorful):**
```json
{
  "action": "generate_chart",
  "chart_type": "pie",
  "data": {
    "labels": ["Desktop", "Mobile", "Tablet"],
    "datasets": [{"data": [55, 35, 10]}]
  },
  "title": "Traffic by Device",
  "theme": "colorful"
}
```

**Example - Scatter Plot (Academic, SVG):**
```json
{
  "action": "generate_chart",
  "chart_type": "scatter",
  "data": {
    "datasets": [{
      "label": "Sample Data",
      "data": [{"x": 10, "y": 20}, {"x": 15, "y": 25}, {"x": 20, "y": 22}, {"x": 25, "y": 30}]
    }]
  },
  "title": "Correlation Analysis",
  "theme": "academic",
  "width": 700,
  "height": 500,
  "output_format": "svg"
}
```

**Example - Custom Styled Chart:**
```json
{
  "action": "generate_chart",
  "chart_type": "bar",
  "data": {
    "labels": ["Mon", "Tue", "Wed", "Thu", "Fri"],
    "datasets": [{"label": "Tasks Completed", "data": [5, 8, 12, 7, 10]}]
  },
  "title": "Weekly Productivity",
  "theme": "custom",
  "background_color": "#F5F5F5",
  "custom_options": {
    "plugins": {"legend": {"display": false}},
    "scales": {"y": {"beginAtZero": true, "grid": {"color": "rgba(0, 0, 0, 0.1)"}}}
  }
}
```

**Example - Base64 Return (No File Storage):**
```json
{
  "action": "generate_chart",
  "chart_type": "line",
  "data": {
    "labels": ["1", "2", "3", "4", "5"],
    "datasets": [{"label": "Values", "data": [10, 20, 15, 25, 30]}]
  },
  "theme": "minimal",
  "return_base64": true,
  "store_file": false
}
```

**Example - PDF Export with Custom Expiration:**
```json
{
  "action": "generate_chart",
  "chart_type": "bar",
  "data": {
    "labels": ["Category A", "Category B", "Category C"],
    "datasets": [{"label": "Results", "data": [65, 85, 75]}]
  },
  "title": "Survey Results",
  "theme": "corporate",
  "output_format": "pdf",
  "width": 800,
  "height": 600,
  "expiration_days": 3
}
```

**Response fields:**
- `chart_type`: Chart type used
- `theme`: Theme applied
- `format`: Output format
- `width`, `height`: Dimensions
- `size_bytes`: File size in bytes
- When `return_base64` is true: `base64_data` (string), `content_type` (MIME type)
- When `store_file` is true: `file_id` (string), `signed_url` (temporary download URL), `expiration_date` (ISO date)

---

## Data Format

Standard chart types (bar, line, pie, doughnut, radar, polarArea, horizontalBar):
```json
{
  "labels": ["Label 1", "Label 2", "Label 3"],
  "datasets": [{
    "label": "Dataset Name",
    "data": [10, 20, 30],
    "backgroundColor": "optional color override",
    "borderColor": "optional border color",
    "borderWidth": 1
  }]
}
```

Scatter and bubble charts use point objects instead of simple values:
```json
{
  "datasets": [{
    "label": "Points",
    "data": [{"x": 10, "y": 20}, {"x": 15, "y": 25}]
  }]
}
```

Multiple datasets are supported. Theme colors are auto-assigned to datasets that do not specify their own colors.

---

## Workflows

1. **Business Dashboard Chart** - Use `generate_chart` with `theme: "corporate"`, a bar or line chart, and `store_file: true` to get a signed URL for embedding in reports.
2. **Email-Embedded Chart** - Use `generate_chart` with `return_base64: true` and `store_file: false` to get base64 data for inline embedding in emails.
3. **Scientific Publication Figure** - Use `generate_chart` with `theme: "academic"`, `output_format: "svg"` for scalable vector output suitable for print.
4. **Marketing Infographic** - Use `generate_chart` with `theme: "colorful"`, pie or doughnut chart, and `device_pixel_ratio: 2` for high-resolution social media images.
5. **Dark Mode Presentation Slide** - Use `generate_chart` with `theme: "modern_dark"`, large dimensions (1920x1080), and `device_pixel_ratio: 2`.
6. **Custom Branded Chart** - Use `theme: "custom"` with `custom_options` to apply your own colors, fonts, grid styles, and legend placement.

---

## Notes

- Maximum chart dimensions are 2000x2000 pixels.
- Stored files expire after 1-7 days (configurable via `expiration_days`).
- The `data` object must contain at least a `datasets` array. The `labels` array is required for most chart types but not for scatter/bubble charts.
- When using `theme: "custom"`, no preset styling is applied. Combine with `custom_options` for full control.
- `custom_options` merges on top of theme defaults, so you can start with a theme and override specific options.
- The `device_pixel_ratio: 2` option doubles the rendered resolution (useful for retina displays) but also increases file size.
- If both `return_base64: true` and `store_file: true` are set, you get both the base64 data and a stored file URL.
- Validation: `chart_type` and `data` are required for `generate_chart`. Missing either returns a 400 error.
- Recommended sizes: social media 800x600, reports 1000x600, presentations 1920x1080.

### Frequently Asked Questions

No linked FAQs are currently available.

### Dependencies

This product has no public dependency products.