0

I have integrated a column highchart in my application having primary and secondary y-axis(dual-axis). Now I need to add an image/icon below both y-axes for reference of the axis. I have implemented below code:

Highcharts.chart('container', {
    chart: {
        type: 'column'
    },
    title: {
        text: null
    },
    subtitle: {
        text: null
    },
    xAxis: [{
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
            'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
        crosshair: true
    }],
    yAxis: [{ // Primary yAxis
        labels: {
            format: '{value}°C',
            style: {
                color: Highcharts.getOptions().colors[1]
            }
        },
        title: {
            text: 'Temperature',
            style: {
                color: Highcharts.getOptions().colors[1]
            }
        }
    }, { // Secondary yAxis
        title: {
            text: 'Rainfall',
            style: {
                color: Highcharts.getOptions().colors[0]
            }
        },
        labels: {
            format: '{value} mm',
            style: {
                color: Highcharts.getOptions().colors[0]
            }
        },
        opposite: true
    }],
    tooltip: {
        shared: true
    },
    legend: {
        layout: 'horizontal',
        align: 'center',
        verticalAlign: 'bottom'
    },
    series: [{
        name: 'Rainfall',
        type: 'column',
        yAxis: 1,
        data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
        tooltip: {
            valueSuffix: ' mm'
        }

    }, {
        name: 'Temperature',
        type: 'spline',
        data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6],
        tooltip: {
            valueSuffix: '°C'
        }
    }]
});
<script src="https://code.highcharts.com/highcharts.js"></script>

<figure class="highcharts-figure">
    <div id="container"></div>
</figure>

Now I need to add an icon below both y-axes for reference of the axis. Any help would be definitely appreciated!

Highlighted boxes are image/icons I needed

Ronak
  • 127
  • 3
  • 15
  • Please provide a [minimal reproducible code](https://stackoverflow.com/help/minimal-reproducible-example) so everyone can reproduce your problem and be able to help. – Iman Kianrostami Nov 17 '19 at 08:51
  • @ImanKianrostami I have updated question and added code snippet. – Ronak Nov 17 '19 at 15:10

1 Answers1

1

You can add the image as an axis title located below the plot area:

yAxis: [{
    title: {
        text: '<img src="https://www.highcharts.com/samples/graphics/sun.png" />',
        align: 'low',
        useHTML: true,
        rotation: 0,
        reserveSpace: false,
        y: 40
    }
}, {...}]

Live demo: http://jsfiddle.net/BlackLabel/mzquL6je/

API Reference: https://api.highcharts.com/highcharts/yAxis.title

ppotaczek
  • 36,341
  • 2
  • 14
  • 24
  • I tried it but it disappears my 'Temperature' text from the left y-axis. I want both text and image on the y-axis. https://jsfiddle.net/oLder57q/ – Ronak Nov 18 '19 at 06:54
  • 1
    Hi @Ronak, You can add another `yAxis` to show only the title: http://jsfiddle.net/BlackLabel/cr97L5ak/ – ppotaczek Nov 18 '19 at 09:31