# Chart Data Format

Data provided to a Visualforce chart must meet some specific requirements. Every element in the data collection must contain all fields referenced in the `<apex:chart>` component hierarchy that is bound to that data source. If all fields aren’t provided, a client-side JavaScript error is thrown, which you can view in a JavaScript console such as Firebug.

Chart data provided by an Apex method should be a List of uniform objects. These objects can be simple wrappers, sObjects, or `AggregateResult` objects. Data fields can be made accessible as public member variables or properties.

Chart data provided by JavaScript methods should be a JavaScript array of arrays. Each inner array represents a record or data point. Data fields are made accessible as name: value pairs. See [Providing Chart Data via a JavaScript Array](/docs/platform/salesforce-pages-developers-guide/guide/pages-charting-overview-providing-data-javascript-array.md) for an example.

**See Also**

- [Providing Chart Data via a JavaScript Array](/docs/platform/salesforce-pages-developers-guide/guide/pages-charting-overview-providing-data-javascript-array.md)
