StrongCreative
StrongCreative

Reputation: 51

How to add space between chart and axis in highcharts

i am using hightstock from hightcharts. But i want create space between the chart with yAxis like image

need create space:

enter image description here

Upvotes: 5

Views: 6146

Answers (4)

deepg
deepg

Reputation: 403

Unfortunately none of the provided solutions worked ,therefore posting a new solution. Please keep in mind this feature works only in HighChart and not in HighStock

https://jsfiddle.net/donofclass/jmpfzkas/2/

Highcharts.setOptions({
        global: {
            useUTC: false
        }
    });
var options = {
        chart: {
            type: 'line',
            renderTo: 'container',
            marginRight: 100,
            animation: false,
            events: {
                redraw: function (values) {

                },
                load: function (evt) {
                }
            }
        },
        yAxis: [{
            height: "60%",
            lineWidth: 2,
            opposite: false
        }, {

            top: "62%",
            height: "35%",
            offset: 0,
            lineWidth: 2,
            opposite: false
        }],
        xAxis: {
            type: 'datetime',
            gridLineWidth: 1,
            dataLabels: { enabled: true }
        },
        boost: {
            //useGPUTranslations: true,
            //usePreAllocated: true
        },
        legend: {
            itemHiddenStyle: {
                color: 'white'
            },
            layout: 'horizontal',
            align: 'right',
            verticalAlign: 'top',
            floating: true,
            symbolRadius: 0,
            symbolPadding: 15
        },

        plotOptions: {
            series: {
                marker: {
                    radius: 5,
                    states: {
                        hover: {
                            enabled: true,
                            lineColor: 'rgb(100,100,100)'
                        }
                    }
                }, dataGrouping: {
                    enabled: false,
                },

                pointWidth: 0//width of the column bars irrespective of the chart size
            }
        },

        title: {
            text: 'Live random data',
            align: 'center',
            verticalAlign: 'bottom',
            style: {
                // margin: '50px', // does not work for some reasons
                color: '#707070',
                fontSize: '12px',
                fontWeight: 'normal',
                fontStyle: 'none',
                textTransform: 'none'
            }
        },

        exporting: {
            enabled: false
        },
        rangeSelector: {
            selected: 1,
            buttonTheme: {
                visibility: 'hidden'
            }, labelStyle: {
                visibility: 'hidden'
            },
            inputEnabled: false,
        },

        series: [{
            name: 'green',
            color: 'black',
            marker: {
                enabled: false
            },

            data: (function () {
                var data = [];
                return data;
            }())
        }, {
            name: "green",
            type: 'column',
            yAxis: 1,
            color: '#2DC06A',
            visible: true,
            data: (function () {
                var data = [];
                return data;
            }())
        }, {
            name: "red",
            type: 'column',
            yAxis: 1,
            color: '#ED4944',
            visible: true,
            data: (function () {
                var data = [];
                return data;
            }())
        }]
    }
    

var chart=Highcharts.chart('container',options);
  chart.update({
  xAxis:{
  max:1523148945
  }
  })
chart.series[0].setData([[1523124945,12],[1523125945,14],[1523128945,11]],false);
chart.series[1].setData([[1523124945,122],[1523125945,142],[1523128945,11]],false);
chart.series[2].setData([[1523124945,122],[1523125945,142],[1523128945,11]],true);
<script src="https://code.highcharts.com/highcharts.js"></script>
<h1>This feature works only in highchart and not in highstocks<h1>
<div id="container" style="height: 300px"></div>

Upvotes: 1

Edd
Edd

Reputation: 11

you should do next:

1) Add margin right for chart(100 for example)

marginRight: 100

2) Add offset of yAxis with align right of property 'labels':

 yAxis: [{
            labels:{
            align:'right',
            x:90
            }
}]

3) Disable y-axis plot lines for better view (if you want) Look at my chart

Upvotes: 1

Bernardo Orozco Garza
Bernardo Orozco Garza

Reputation: 59

I also wanted to add space at the end of the hihghstock chart, i requested the ohlc in a json then save it in a variable after that i pushed 10 point at the end of it

var timestamp = data[data.length-1][0];

//add 10 point at the end for blank space
for(var i=0;i<=10;i++){
   var added=[timestamp+(60*i*1000),null,null,null,null];
   console.log(added);
   data.push(added);
}

the multiplication in the timestamp is because of the json response i get.

enter image description here

Upvotes: 3

Mustafa DOGRU
Mustafa DOGRU

Reputation: 4112

You can try marginRight as below;

$(function () {

var options = {
    chart: {
        renderTo: 'container',
        marginRight: 300

    },
    navigator:{
        enabled:true
    },
    scrollbar: {
        enabled:true
    },

    rangeSelector: {
        enabled: true,
	    //selected: 1
    },  
    xAxis: {
        gridLineWidth: 1,
        labels: {
            rotation: -45,
            align: 'right',
            style: {
                fontSize: '13px',
                fontFamily: 'Verdana, sans-serif'
            }
        }
    },
    yAxis: [
    {
        height: 150,
        lineWidth: 2,
        offset: 0,
        title: {
            text: 'Price',
        }
    },
    {
        top: 225,
        //lineWidth: 0,
        //min: 0,
        //max: 5,
        gridLineWidth: 0,
        offset: 0,
        height: 100,
        title: {
            text: 'Volume',
        }
    },
    ],
   
    series: [
    {
        yAxis: 0,
        name: 'Price by time',
        stack: 0,

        //data: [1, 12, 32, 43],       
        data: [[1147651200000,67.79],[1147737600000,64.98],[1147824000000,65.26],[1147910400000,63.18],[1147996800000,64.51],[1148256000000,63.38],[1148342400000,63.15],[1148428800000,63.34],[1148515200000,64.33],[1148601600000,63.55],[1148947200000,61.22],[1149033600000,59.77],[1149120000000,62.17],[1149206400000,61.66],[1149465600000,60.00],[1149552000000,59.72],[1149638400000,58.56],[1149724800000,60.76],[1149811200000,59.24],[1150070400000,57.00],[1150156800000,58.33],[1150243200000,57.61],[1150329600000,59.38],[1150416000000,57.56],[1150675200000,57.20],[1150761600000,57.47],[1150848000000,57.86],[1150934400000,59.58],[1151020800000,58.83],[1151280000000,58.99],[1151366400000,57.43],[1151452800000,56.02],[1151539200000,58.97],[1151625600000,57.27],[1151884800000,57.95],[1152057600000,57.00],[1152144000000,55.77],[1152230400000,55.40],[1152489600000,55.00],[1152576000000,55.65],[1152662400000,52.96],[1152748800000,52.25],[1152835200000,50.67],[1153094400000,52.37],[1153180800000,52.90],[1153267200000,54.10],[1153353600000,60.50],[1153440000000,60.72],[1153699200000,61.42],[1153785600000,61.93],[1153872000000,63.87],[1153958400000,63.40],[1154044800000,65.59],[1154304000000,67.96],[1154390400000,67.18],[1154476800000,68.16],[1154563200000,69.59],[1154649600000,68.30],[1154908800000,67.21],[1154995200000,64.78],[1155081600000,63.59],[1155168000000,64.07],[1155254400000,63.65],[1155513600000,63.94],[1155600000000,66.45],[1155686400000,67.98],[1155772800000,67.59],[1155859200000,67.91],[1156118400000,66.56],[1156204800000,67.62],[1156291200000,67.31],[1156377600000,67.81],[1156464000000,68.75],[1156723200000,66.98],[1156809600000,66.48],[1156896000000,66.96],[1156982400000,67.85],],
		tooltip: {
			valueDecimals: 2
		},           
    },
    {
        name: 'Volume by time',
        yAxis: 1,
        stack: 0,
        data: [[1147651200000,67.79],[1147737600000,64.98],[1147824000000,65.26],[1147910400000,63.18],[1147996800000,64.51],[1148256000000,63.38],[1148342400000,63.15],[1148428800000,63.34],[1148515200000,64.33],[1148601600000,63.55],[1148947200000,61.22],[1149033600000,59.77],[1149120000000,62.17],[1149206400000,61.66],[1149465600000,60.00],[1149552000000,59.72],[1149638400000,58.56],[1149724800000,60.76],[1149811200000,59.24],[1150070400000,57.00],[1150156800000,58.33],[1150243200000,57.61],[1150329600000,59.38],[1150416000000,57.56],[1150675200000,57.20],[1150761600000,57.47],[1150848000000,57.86],[1150934400000,59.58],[1151020800000,58.83],[1151280000000,58.99],[1151366400000,57.43],[1151452800000,56.02],[1151539200000,58.97],[1151625600000,57.27],[1151884800000,57.95],[1152057600000,57.00],[1152144000000,55.77],[1152230400000,55.40],[1152489600000,55.00],[1152576000000,55.65],[1152662400000,52.96],[1152748800000,52.25],[1152835200000,50.67],[1153094400000,52.37],[1153180800000,52.90],[1153267200000,54.10],[1153353600000,60.50],[1153440000000,60.72],[1153699200000,61.42],[1153785600000,61.93],[1153872000000,63.87],[1153958400000,63.40],[1154044800000,65.59],[1154304000000,67.96],[1154390400000,67.18],[1154476800000,68.16],[1154563200000,69.59],[1154649600000,68.30],[1154908800000,67.21],[1154995200000,64.78],[1155081600000,63.59],[1155168000000,64.07],[1155254400000,63.65],[1155513600000,63.94],[1155600000000,66.45],[1155686400000,67.98],[1155772800000,67.59],[1155859200000,67.91],[1156118400000,66.56],[1156204800000,67.62],[1156291200000,67.31],[1156377600000,67.81],[1156464000000,68.75],[1156723200000,66.98],[1156809600000,66.48],[1156896000000,66.96],[1156982400000,67.85],],
		tooltip: {
			valueDecimals: 2
		},  
        lineWidth: 3,
        marker: {
            enabled: false
        },

        type: 'column',
    },
    ]

};

var chart = new Highcharts.Chart(options);

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://code.highcharts.com/stock/highstock.js"></script>
<script src="http://code.highcharts.com/stock/modules/exporting.js"></script>

<div id="container" style="height: 500px; min-width: 500px"></div>

Upvotes: 0

Related Questions