Давайте рассмотрим один из способов отображения диаграмм на вашем сайте.

Сфера моей компании и потребности клиентов позволили мне получить довольно интересный опыт работы с графиками. Другими словами, мне пришлось много работать над ними, и некоторые из них были действительно сложными и имели очень нестандартные детали.
Я уверен, что есть много разных способов использования и создания диаграмм, но в этой статье мы поговорим о том, как я их использовал. А точнее, графики будем создавать с помощью библиотеки HighCharts.
Что такое HighCharts?
HighCharts — это библиотека, созданная для разработчиков и помогающая вам отображать всевозможные диаграммы, которые вы или ваш клиент можете себе представить.
Вот ссылка: https://www.highcharts.com/
Зачем ее использовать? Ну, как по мне, это одна из библиотек, которая имеет больше всего возможностей и позволяет реализовать задачи разного уровня сложности.
HighCharts Vue против HighCharts JS
Существуют разные способы использования HighCharts на Vue. Первый — классический, сделанный для Vue и уже адаптированный для него, а другой — простой JavaScript, который требует некоторых дополнительных модификаций.
В чем основное различие между ними? Это производительность.
Если ваши потребности довольно просты, когда вам просто нужно отобразить обычную диаграмму без каких-либо пользовательских изменений, вы можете просто использовать для этих целей HighCharts Vue. Однако, если ваши потребности более сложны и требуют некоторых настраиваемых параметров, вы можете выбрать HighCharts JS.
В этой статье мы создадим небольшой микс из классического HighCharts JS, используя его в проекте Vue.
Использование HighCharts JS в Vue
Добавление конфигураций
Перво-наперво. Начнем с настройки, которая довольно проста.
Вам не нужно ничего скачивать, просто добавьте эту строку в заголовок вашего основного HTML-файла.
<script src="https://code.highcharts.com/highcharts.js"></script>
Это добавит диаграммы на ваш веб-сайт, и вы сможете отображать их на своих страницах Vue.
Создание компонента Vue
Лучшим способом использования диаграмм в Vue было бы создание отдельного компонента, который можно было бы использовать в любом месте приложения.
Возьмем в качестве примера Базовый линейный график.
Окончательный результат будет выглядеть так:

Чтобы отобразить эту диаграмму, нам нужно будет создать пользовательский компонент Vue немного особым образом, и это то, что мы для этого использовали.
<template>
<div>
<div></div>
</div>
</template>
<script>
export default {
name : "BasicLineChart",
props: {
colors: Array,
data: Array,
categories: Array,
sideText: String
},
data : function() {
return {
target: undefined
}
},
mounted() {
this.target = Highcharts.chart(this.$el, {
title: {
text: ''
},
subtitle: {
text: ''
},
colors: this.colors,
legend: {
enabled: false
},
yAxis: {
title: {
text: this.sideText
}
},
xAxis: {
categories: this.categories
},
series: [{
data: this.data
}],
responsive: {
rules: [{
condition: {
maxWidth: 500
}
}]
}
});
},
beforeDestroy: function() {
this.target.destroy();
},
}
</script>
Я знаю, что это выглядит длинно и не очень понятно, но это параметры, которые мы используем в HighCharts, чтобы настроить его так, как мы хотим отображать диаграммы.
Каждая диаграмма, конечно, может иметь свои собственные параметры, но в целом некоторые из основных параметров остаются прежними.
Обратите внимание, что шаблон пуст, а диаграмма создается в смонтированной функции с использованием всех ее параметров.
Использование реквизита
Если ваша цель — сделать компонент диаграммы многоразовым, важно определить реквизиты для определенных параметров.
Вы видите, например, что мы можем изменить такие вещи, как "цвет", "данные", категории и все остальное, что вы хотели бы изменить.
Тем не менее, очень важно проверить тип реквизита, который необходимо определить. Например, реквизит "colors" ожидает массив, а не Строка, как можно подумать.
Использование компонента
А теперь последний шаг — использование нашего нового компонента на странице Vue.
<BasicLineChart :data="data" :colors="color" :side-text="sideText" :categories="categories"/>
Вот компонент со всеми основными реквизитами, которые мы определили для изменения цвета, данных и текста.
И, конечно же, эта информация также должна быть определена в данных компонента, в который мы вставляем нашу диаграмму.
data() {
return {
data: [30, 12, 58, 44, 12, 46, 89, 67],
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
title: "Test chart",
sideText: "Some data",
color: ["#2D9CDB"],
}
},
Заключение
Это оно! 😊 Мы только что создали нашу собственную диаграмму Vue с помощью библиотеки HighCharts.
Я надеюсь, что эта статья была для вас полезной, и я также надеюсь, что вы хотели бы работать с диаграммами и настраивать их по-своему.
Спасибо, что прочитали!