There is no direct way of feeding two values per record into a single series in HTML5 charts. You can contact the Jaspersoft commercial support and file a feature request (or bug if you consider it so). Depending on your exact use case, there might be some workarounds. For instance, if you only need to feed two values (that is a single record) into the chart, you can create a subdataset and pass a data source with two records to it. That is something like: <subDataset name="ChartDataset"> <field name="key"/> <field name="value" class="java.lang.Integer"/> </subDataset> <hc:chart xmlns:hc="http://jaspersoft.com/highcharts" xsi:schemaLocation="http://jaspersoft.com/highcharts http://jaspersoft.com/schema/highcharts.xsd" type="Pie">...<multiAxisData><multiAxisDataset> <dataset> <datasetRun subDataset="ChartDataset"> <dataSourceExpression>new net.sf.jasperreports.engine.data.JRMapCollectionDataSource([[key: "a", value: 5], [key: "b", value: 10]])</dataSourceExpression> </datasetRun> </dataset> </multiAxisDataset> <dataAxis axis="Rows"> <axisLevel name="Key"> <labelExpression><![CDATA["Key"]]></labelExpression> <axisLevelBucket class="java.lang.String"> <bucketExpression><![CDATA[$F{key}]]></bucketExpression> </axisLevelBucket> </axisLevel> </dataAxis> <multiAxisMeasure name="Measure" class="java.lang.Integer" calculation="Nothing"> <labelExpression><![CDATA["Measure"]]></labelExpression> <valueExpression><![CDATA[$F{value}]]></valueExpression> </multiAxisMeasure> </multiAxisData> Note that the example uses Groovy expressions for the sake of list and map literals. If you need to feed several records into a single chart, something similar can be achieved by collecting the value into a list. That would be more tedious though. Regards,Lucian Chirita