ChartThe Chart component renders interactive charts using Chart.js.
Navigation

Chart

The Chart component renders interactive charts using Chart.js.

Usage

Chart(
    type = "bar",
    data = """{
        "labels": ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        "datasets": [{
            "label": "# of Votes",
            "data": [12, 19, 3, 5, 2, 3],
            "backgroundColor": [
                "rgba(255, 99, 132, 0.2)",
                "rgba(54, 162, 235, 0.2)",
                "rgba(255, 206, 86, 0.2)",
                "rgba(75, 192, 192, 0.2)",
                "rgba(153, 102, 255, 0.2)",
                "rgba(255, 159, 64, 0.2)"
            ],
            "borderColor": [
                "rgba(255, 99, 132, 1)",
                "rgba(54, 162, 235, 1)",
                "rgba(255, 206, 86, 1)",
                "rgba(75, 192, 192, 1)",
                "rgba(153, 102, 255, 1)",
                "rgba(255, 159, 64, 1)"
            ],
            "borderWidth": 1
        }]
    }""",
    options = """{
        "scales": {
            "y": {
                "beginAtZero": true
            }
        }
    }""",
    modifier = Modifier().width(400.px).height(300.px)
)

Parameters

NameTypeDescription
typeStringThe type of chart to render (e.g., "bar", "line", "pie", "doughnut", "radar", "polarArea", "bubble", "scatter").
dataStringA JSON string representing the data for the chart.
optionsString?An optional JSON string representing the configuration options for the chart.
modifierModifierThe modifier to apply to the chart container.

Platform Support

PlatformSupportNotes
JVM (SSR)PartialRenders a canvas element with data attributes. Client-side hydration is required for interactivity.
JS (Client)FullRenders an interactive Chart.js chart.
Wasm (Client)FullRenders an interactive Chart.js chart.
Architected in Kotlin. Rendered with Materia. Powered by Aether.
© 2026 Yousef.