Как добавить и изменить размер изображения в контекстной кнопке старшего чарта - PullRequest
0 голосов
/ 06 декабря 2018

Я добавил собственное изображение в опцию экспорта высоких диаграмм, но здесь мне нужно изменить размер или увеличить ширину изображения и сделать его курсором-указателем. Но я не понимаю, как это сделать. Я использовал для этого cssно это не работает, вот плункер для демо http://plnkr.co/edit/YSLQMoQpKZqFPk0PXhXm?p=preview

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/series-label.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>
</head>
<body>
<div id="container"></div>

script

Highcharts.chart('container', {

    title: {
        text: 'Solar Employment Growth by Sector, 2010-2016'
    },

    subtitle: {
        text: 'Source: thesolarfoundation.com'
    },

    yAxis: {
        title: {
            text: 'Number of Employees'
        }
    },
    legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'middle'
    },

    plotOptions: {
        series: {
            label: {
                connectorAllowed: false
            },
            pointStart: 2010
        }
    },

    series: [{
        name: 'Installation',
        data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
    }],

    responsive: {
        rules: [{
            condition: {
                maxWidth: 500
            },
            chartOptions: {
                legend: {
                    layout: 'horizontal',
                    align: 'center',
                    verticalAlign: 'bottom'
                }
            }
        }]
    },
    exporting: {
        buttons: {
    'myButton': {       

         symbol: 'url(https://www.highcharts.com/demo/gfx/sun.png)',
                onclick: function () {
                    alert('You pressed the button!');
                },        
        theme: {
            class: "myButton highcharts-button highcharts-button-normal",
            id: "myDiamondButton",

        }

    }
}

    }

});

1 Ответ

0 голосов
/ 07 декабря 2018

Лучшим решением для добавления пользовательского изображения является использование Highcharts.SVGRenderer вместо экспорта объекта кнопок.Такой подход позволяет изменить размер изображения, добавить указатель курсора, настраиваемые события и многое другое.Проверьте демонстрацию, размещенную ниже.

  chart: {
    events: {
      load: function() {
        var chart = this,
          btn;

        btn = chart.renderer
          .image('https://www.highcharts.com/demo/gfx/sun.png', 80, 0, 50, 50)
          .css({
            cursor: 'pointer'
          })
          .add()
          .toFront()
          .on('click', function() {
            alert('You pressed the button!');
          });
      }
    }
  }

Демо:
https://jsfiddle.net/BlackLabel/v9gw32kp/1/

Ссылка API:
https://api.highcharts.com/class-reference/Highcharts.SVGElement#on
https://api.highcharts.com/class-reference/Highcharts.SVGRenderer#image

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...