Розробка інтерактивних графіків на Highcharts для сайту

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Розробка інтерактивних графіків на Highcharts для сайту
Проста
від 1 робочого дня до 3 робочих днів
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Розробка інтерактивних графіків на Highcharts для веб-сайтів

Highcharts — комерційна бібліотека (безплатно для некомерційних проектів) з багатою функціональністю: 40+ типів графіків, експорт, Stock charts, Maps. Відрізняється стабільністю та обширною документацією.

Встановлення

npm install highcharts highcharts-react-official

Базовий Line Chart

import Highcharts from 'highcharts';
import HighchartsReact from 'highcharts-react-official';
import { useRef } from 'react';

function SalesChart({ data }) {
  const chartRef = useRef<HighchartsReact.RefObject>(null);

  const options: Highcharts.Options = {
    chart: {
      type: 'areaspline',
      height: 300,
      animation: { duration: 500 }
    },
    title: { text: undefined },
    xAxis: {
      type: 'datetime',
      labels: {
        format: '{value:%d %b}'
      }
    },
    yAxis: {
      title: { text: null },
      labels: {
        formatter() {
          return `${(this.value as number / 1000).toFixed(0)}k ₽`;
        }
      }
    },
    tooltip: {
      shared: true,
      xDateFormat: '%d.%m.%Y',
      valuePrefix: '₽ ',
      valueDecimals: 0
    },
    plotOptions: {
      areaspline: {
        fillOpacity: 0.15,
        marker: { enabled: false }
      }
    },
    series: [
      {
        type: 'areaspline',
        name: 'Дохід',
        color: '#3b82f6',
        data: data.map(d => [new Date(d.date).getTime(), d.revenue])
      }
    ],
    credits: { enabled: false }
  };

  return <HighchartsReact highcharts={Highcharts} options={options} ref={chartRef} />;
}

Highcharts Stock (для фінансових даних)

import HighchartsStock from 'highcharts/modules/stock';
import HighchartsReact from 'highcharts-react-official';

HighchartsStock(Highcharts);

function StockChart({ ohlcData, volumeData }) {
  const options: Highcharts.Options = {
    rangeSelector: {
      selected: 1,
      buttons: [
        { type: 'day', count: 1, text: '1д' },
        { type: 'week', count: 1, text: '1т' },
        { type: 'month', count: 1, text: '1м' },
        { type: 'year', count: 1, text: '1р' },
        { type: 'all', text: 'Все' }
      ]
    },
    yAxis: [
      {
        labels: { align: 'right', x: -3 },
        title: { text: 'OHLC' },
        height: '60%',
        lineWidth: 2
      },
      {
        labels: { align: 'right', x: -3 },
        title: { text: 'Обсяг' },
        top: '65%',
        height: '35%',
        lineWidth: 2
      }
    ],
    series: [
      {
        type: 'candlestick',
        name: 'Ціна',
        data: ohlcData,
        upColor: '#22c55e',
        color: '#ef4444'
      },
      {
        type: 'column',
        name: 'Обсяг',
        data: volumeData,
        yAxis: 1,
        color: '#93c5fd'
      }
    ]
  };

  return <HighchartsReact highcharts={Highcharts} constructorType="stockChart" options={options} />;
}

Drilldown

const options: Highcharts.Options = {
  chart: { type: 'column' },
  series: [{
    type: 'column',
    name: 'Категорії',
    data: [
      { name: 'Електроніка', y: 543000, drilldown: 'electronics' },
      { name: 'Одяг', y: 321000, drilldown: 'clothes' }
    ]
  }],
  drilldown: {
    series: [
      {
        id: 'electronics',
        data: [
          ['Смартфони', 230000],
          ['Ноутбуки', 180000],
          ['Аксесуари', 133000]
        ]
      }
    ]
  }
};

Експорт у PNG/PDF/SVG

import 'highcharts/modules/exporting';
import 'highcharts/modules/export-data';
import 'highcharts/modules/offline-exporting';

const options: Highcharts.Options = {
  exporting: {
    enabled: true,
    buttons: {
      contextButton: {
        menuItems: ['downloadPNG', 'downloadPDF', 'downloadSVG', 'downloadCSV']
      }
    }
  }
};

Часові межи

3–5 типів графіків з drilldown та експортом — 3–5 днів.