score:27

Accepted answer

yes, you can use minpointlength: http://api.highcharts.com/highstock#plotoptions.column.minpointlength

unless the average viewer of this data is accustomed to working with log-scaled data, it is not a good idea to scale it that way. people will compare the length of the bars, as they should, and will have a completely unrealistic impression of the data.

the difference between 1 pixel and 0 pixels will be enough to show that there is a value there, but will not be enough to skew the data in any meaningful way, in most cases.

score:1

i resolved this like following

 events: {
        load: function(event) {
        // following code is added to make tiny stack visible
            var chart = this;
            var totalvalue = 82870; // sum of all stacks
            var minimumpercentagevalue = 0.8;

            this.series.foreach(function(series) {
                series.points.foreach(function(point) {
                    var valueinpercentage = (point.y * 100) / totalvalue;
                    if (valueinpercentage < minimumpercentagevalue) {
                        point.update({
                            y: ((minimumpercentagevalue+valueinpercentage)*totalvalue)/100,
                            realvalue: point.y
                        }, false);
                    }
                });
            });

            this.redraw();
        }
    }

var chart = highcharts.chart('chart-container', {
    credits: false,
    chart: {
        type: 'bar',
        animation:false,
        height:200,
        events: {
            load: function(event) {
            // following code is added to make tiny stack visible
                var chart = this;
                var totalvalue = 82870; // sum of all stacks
                var minimumpercentagevalue = 0.8;

                this.series.foreach(function(series) {
                    series.points.foreach(function(point) {
                        var valueinpercentage = (point.y * 100) / totalvalue;
                        if (valueinpercentage < minimumpercentagevalue) {
                            point.update({
                                y: ((minimumpercentagevalue+valueinpercentage)*totalvalue)/100,
                                realvalue: point.y
                            }, false);
                        }
                    });
                });

                this.redraw();
            }
        }
    },
    title:{
        text:"shifts"
    },
    xaxis: {
        visible:false,
        endontick:false,
        categories: ['shifts'],
    },
    yaxis: {
        endontick:false,
        visible:false,
        max: 82870,
    },
    legend: {
    		reversed: true,
        align: 'left',
        padding:0,
        itempaddingbottom:15,
        itemmarginbottom:5,
        symbolradius:0,
        verticalalign: 'bottom',
        floating: true,
    	  itemmarginbottom:5,
        usehtml: true,
        labelformatter: function (params) {
            return '<div><div>'+this.name+'</div><div style="font-weight:normal">'+this.useroptions.start_time+'</div><div style="font-weight:normal">'+this.useroptions.end_time+'</div></div>';
        }
    },
    plotoptions: {
        series: {
            stacking: 'normal',
            pointwidth: 50,
            pointplacement:'on',
            states: {
              hover: {
                enabled: false
              },
              inactive: {
                opacity: 1
              },
              marker: {
                enabled: false
              }
            }
        },
    },
    series: [{"name":"shift 1","start_time":"12\/06\/2019 05:46:47 pm","end_time":"13\/06\/2019 02:47:46 pm","data":[75659]},{"name":"break","start_time":"03\/06\/2019 03:42:11 pm","end_time":"03\/06\/2019 03:42:31 pm","data":[20]},{"name":"shift 2","start_time":"03\/06\/2019 03:41:39 pm","end_time":"03\/06\/2019 03:42:11 pm","data":[32]},{"name":"shift 3","start_time":"29\/05\/2019 08:17:32 pm","end_time":"29\/05\/2019 10:14:43 pm","data":[7031]},{"name":"shift 4","start_time":"29\/05\/2019 08:16:32 pm","end_time":"29\/05\/2019 08:17:32 pm","data":[60]},{"name":"shift 5","start_time":"29\/05\/2019 08:15:24 pm","end_time":"29\/05\/2019 08:16:32 pm","data":[68]}],
});
<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="chart-container" style="height:400px; width:100%" ></div>

score:2

one thing you could consider is using a logarithmic scale:

http://www.highcharts.com/demo/line-log-axis

yaxis: {
    type: 'logarithmic'
},

that would allow you to visualize the different heights even if one bar was several orders of magnitude greater than the others.

anything else would be skewing your data if it really is so small that it can't be seen when you plot it initially.


Related Query

More Query from same tag