Q:

Higcharts - marginBottom does not let rendering xAxis series ellipsis

The space for xAxis generally is rendered dynamically by the Highcharts library and add the ellipsis in the correct place, making it display from the start and cutting it when it stop displaying it on the graph with some ellipsis. 
When I try to change that space to not render dynamically, the property marginBottom does it,but it stops picking up when the text should start displaying and the start of the text is cutted from the down of the graph. Is there a way to render correctly the text at the bottom from the highcharts? I Do need it to be rotate 270 degrees, and not let the auto rotate work, and don't want to collapse more part of the graph just for displaying the text.
Here is a sample when that happes:
Highcharts.chart('container', {
    chart: {
    height: 350,
    spacingBottom: 0,
    marginBottom: 50,
        type: "column"
   },

  series: [{
      name: 'Total', 
      data: [1,2,3,4,5]
    }],

  xAxis: {
    categories: ["very long name to test if the characters are rigth and cropped", 
                            "Not so long but long enough", "I still am long and out of the screen", 
                "lets see how is cropped", "cropped", "crop"],
    labels: {
        rotation: 270
    }
    }
});

Sample fiddle with marginBottom : https://jsfiddle.net/ragmar/6ru4hze3/
If you  remove the marginBottom, even the legend move down a bit.
It is possible to do this behavior? even including some css?
Thanks in advance

A:

To make it work the way you want, you have to make some modifications in Highcharts core. For example you can do not use marginBottom option, but set fixed value as a commonWidth variable in renderUnsquish method:
if (attr.rotation) {
  commonWidth = (
    maxLabelLength > chart.chartHeight * 0.5 ?
    40 :  // changed from 'chart.chartHeight * 0.33'
    maxLabelLength
  );
  if (!textOverflowOption) {
    commonTextOverflow = 'ellipsis';
  }
}

Live demo: https://jsfiddle.net/BlackLabel/moL1tw6c/

