If you need to shorten labels on some axis or to display them in more lines etc. you need to use javascript formatter function for this task.

Example of formatter function in javascript for labels on xAxis – shows only 12 characters:

<hc:chartProperty name="xAxis.labels.formatter">
<hc:propertyExpression><![CDATA["function() { var xlegend = this.value.toString(); if (this.value.toString().length > 15) { xlegend = this.value.toString().substring(0, 12)+\"...\"; } return xlegend; }"]]></hc:propertyExpression>
</hc:chartProperty>

Example 2 – function which shows text in 1 line (shortened) or in 2 lines (divided) based on number of shown values:

<hc:chartProperty name="xAxis.labels.formatter">
<hc:propertyExpression><![CDATA["function() { var xdesc = this.value.toString(); var xpoints = "+$P{<here_your_parameter_with_number_of_values>}+"; var xlabel=xdesc; if (xpoints>15) { if (xdesc.lenght>15) { xlabel=xdesc.substring(0,15)+\"...\"} } else if (xdesc.length>15) { xlabel = xdesc.substring(0, 15)+\"
\"+xdesc.substring(15,30); } return xlabel; }"]]></hc:propertyExpression>
</hc:chartProperty>

This second example could also require to set line height – default is 14px which can be sometimes to big.

<hc:chartProperty name="xAxis.labels.style.lineHeight">
	<hc:propertyExpression><![CDATA["8px"]]></hc:propertyExpression>
</hc:chartProperty>

And last note – you need to allow javascript functions in jasper server properties.