HeighCharts SVG Сохранить размер шрифта исправить - PullRequest
0 голосов
/ 05 июня 2018

Я буду использовать диаграмму, созданную Heighcharts, в качестве файла svg.

Однако, когда размер файла svg изменяется (увеличивается или уменьшается), текст в немне должен быть изменен с этим .Размер текста всегда должен соответствовать внешнему виду svg.

. Пока я нашел здесь примеры:

Но я не могу вписать пример (код из Phrogz выглядит довольно интересным) в мой собственный.

Я создаю jsfiddle для проверки на нем:

<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>
<div id="container"></div>

Чтобы визуально объяснить, я прикрепляю изображение с древовидными диаграммами (размерами), где остается тексттот же размер:

tree chart sizes with fixed text-size example

Есть ли решение этой проблемы?

1 Ответ

0 голосов
/ 06 июня 2018

Я подозреваю, что это может быть популярной проблемой с foreignObject в экспортированном файле SVG при использовании exporting.allowHTML: true, но я не видел ваш код.Вот пример: https://jsfiddle.net/10fan2yq/

Когда вы устанавливаете useHTML: true для некоторого элемента Highcharts, exporting.allowHTML: true, а также функцию formatter для определения пользовательского формата вашего элемента (например, который возвращает значенияв элементе), тогда в вашем SVG-файле будет создано foreignObject, включающее все элементы HTML.Замечу, что если вы используете exporting.allowHTML, вы должны смириться с фактом, что это экспериментальная функция, и она описана в документации:

allowHTML: BooleanSince4.1.8 Экспериментальная настройка, позволяющая использовать HTML внутри диаграммы (добавляется с помощью параметров useHTML) непосредственно в экспортированном изображении.Это позволяет вам сохранять сложные структуры HTML, такие как таблицы или двунаправленный текст в экспортированных диаграммах.

Отказ от ответственности: HTML-код отображается в теге foreignObject в сгенерированном SVG.Официальный сервер экспорта основан на PhantomJS, который поддерживает это, но другие клиенты SVG, такие как Batik, не поддерживают его.Это также относится к загруженному SVG, который вы хотите открыть в настольном клиенте.

Ваш текст не выглядит слишком сложным, поэтому вы можете попробовать отключить опцию useHTML, если она включена в любом месте вашегоконфигурации.

...