2015-02-26 2 views
0

Ну моя проблема в том, что у меня есть график, и на нем я есть собственный текст, который должен находиться в верхнем правом углу и верхнем нижнем углу графика им с помощью renderer.text('text', 600, 30).add();Highcharts произвольный текст справа налево экспорт

I первое было это как renderer.text('text', 600, 30).css('direction': 'rtl').add(); это работало нормально, но когда я экспортировала его не признают Stlye

затем я попытался использовать renderer.text('<span style="direction:rtl;">text</span>', 600, 30).add(); это также работал только, чтобы показать его на странице, но экспорт не

Есть ли способ исправить это работать на экспорт?

sample

+0

См. Информацию о [rtl] (http://www.highcharts.com/docs/advanced-chart-features/internationalization) - как вы можете видеть, предлагается установить опцию 'useHTML'. Однако экспортный сервер не экспортирует HTML и CSS - только SVG. –

ответ

1

Обойти весь «CSS и экспорт» вопрос для этой конкретной проблемы заключается в использовании ограничительной рамки текста, чтобы правильно разместить его, вместо решения CSS.

function (chart) { // on complete 
    var rightTop = [590,85]; 
    var element = chart.renderer.text('This is a looooong text', 0, -100).add(); 
    var boundingBox = element.getBBox(); 
    element.destroy(); 
    chart.renderer.text('This is a looooong text', 
      rightTop[0] - boundingBox.width, 
      rightTop[1]).add(); 
} 

Здесь переменная rightTop представляет, где мы хотим быть размещены. Затем текст добавляется (вне видимости), мы получаем ограничивающий прямоугольник, чтобы узнать его размер, а затем уничтожить его. Затем мы воссоздаем текст в правильном положении.

См. this JSFiddle example для демонстрации того, как это может работать.

+0

Спасибо @Ondkloss – nniicc

+0

Нет проблем. Рассмотрим мое изменение @nniicc. Снятие «boundingBox.height» не имело большого смысла. –

Смежные вопросы