Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
200 ₴

Написать скрипт обработки строки и подстановки данных в график

closed without completion


Написать скрипт обработки строки и подстановки данных в библиотеку графика.

График:  highcharts.js (не удовлетворяет на 100% заказ, но максимально закрывает вопрос)

Предполагается, что программист сделает небольшой хук с кнопками графика и цветами баров


Строка имеет следующий формат (только в строку): 

03072017;(;NHX9095;A;100;Z;10;B;1000;Z;1;C;1000;Z;2;);
03072017;(;5LZQ093;A;100;Z;10;B;1000;Z;1;C;1000;Z;2;);
04072017;(;DFBH091;A;100;Z;10;B;1000;Z;1;C;1000;Z;2;);
05082017;(;IQQZ089;A;200;Z;15;B;2000;Z;10;C;3000;Z;3;);
06082017;(;NHX9095;A;100;Z;10;B;1000;Z;1;C;1000;Z;2;);
09082017;(;5LZQ093;A;100;Z;10;B;1000;Z;1;C;1000;Z;2;);
10092017;(;DFBH091;A;100;Z;10;B;1000;Z;1;C;1000;Z;2;);
11092017;(;IQQZ089;A;200;Z;15;B;2000;Z;10;C;3000;Z;3;);
15092017;(;BSNW088;A;100;Z;10;B;1000;Z;1;C;1000;Z;2;);


(строку можно немного модифицировать, если будет необходимость или лучшее предложение для обработки данных)


Задача:

пользователь выбирает в селектах месяц и год, а скрипт ищет в строке данные за выбранный период берет данные и подставляет в API библиотеки

Еще раз обращаю внимание, что библиотека не может на 100% рисовать бары, если в строке есть несколько записей за одну дату и рисует бар на баре, а необходимо рисовать бары рядом с одинаковым цветом (необходимо применить какую-то хитрость)


API выглядит следующим образом:


Highcharts.chart('dnk', {
    chart: {
        type: 'column',
        borderWidth: 0,
        plotBorderWidth: 0,
        spacingLeft: 0,
    },
    navigation: {
        buttonOptions: {
            enabled: false
        }
    },
     title: {
        tloating: false,
        text: '',
    },
    credits: {
        enabled: false,
    },
    xAxis: {
        categories: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30' ],
    },
    legend: {
        align: 'left',
        layout: 'horizontal',
    },
    yAxis: {
        labels: {
            enabled: false,
            },
        title: {
            text: ''
        },
        gridLineWidth: 0,
    },
    tooltip: {
        formatter: function () {
            return '<b>' + this.x + '</b><br/>' +
                this.series.name + ': ' + this.y + '<br/>' +
                'Total: ' + this.point.stackTotal;
        }
    },
    plotOptions: {
        column: {
            stacking: 'normal'
        }
    },

// сочетание A и Z в одном free рисует бар на баре (так нужно)
    series: [{
        name: 'A',
        data: [100, 30, 4, 7, 2, 30, 15, 70, 65, 40, 30, 4, 4, 2, 5, 7, 2, 30, 15, 70, 2, 5, 6, 2, 1, 30, 4, 4, 2, 5],
        stack: 'free'
    }, {
        name: 'Z',
        data: [30, 4, 4, 2, 5, 7, 2, 30, 15, 70, 100, 30, 4, 7, 2, 30, 15, 70, 65, 40, 100, 30, 4, 7, 2, 30, 15, 70, 65, 40],
        stack: 'free'
    }, {
        name: 'B',
        data: [2, 5, 6, 2, 1, 30, 4, 4, 2, 5, 30, 4, 4, 2, 5, 7, 2, 30, 15, 70, 100, 30, 4, 7, 2, 30, 15, 70, 65, 40],
        stack: 'help'
    }, {
        name: 'Z',
        data: [100, 30, 4, 7, 2, 30, 15, 70, 65, 40, 30, 4, 4, 2, 5, 7, 2, 30, 15, 70, 2, 5, 6, 2, 1, 30, 4, 4, 2, 5],
        stack: 'help'
    }, {

        name: 'C',
        data: [30, 4, 4, 2, 5, 7, 2, 30, 15, 70, 30, 0, 0, 0, 0, 0, 0, 0, 0, 70, 2, 5, 6, 2, 1, 30, 4, 4, 2, 5],
        stack: 'sponsor'
    }, {
        name: 'Z',
        data: [2, 5, 6, 2, 1, 30, 4, 4, 2, 5, 30, 4, 4, 2, 5, 7, 2, 30, 15, 70,],
        stack: 'sponsor'
    }, {
        name: 'C',
        data: [30, 0, 0, 0, 0, 0, 0, 0, 0, 70, 30, 4, 4, 2, 5, 7, 2, 30, 15, 70, 2, 5, 6, 2, 1, 30, 4, 4, 2, 5],
        stack: 'sponsor-1'
    }, {
        name: 'Z',
        data: [2, 0, 0, 0, 0, 0, 0, 0, 0, 5, 30, 4, 4, 2, 5, 7, 2, 30, 15, 70, 2, 5, 6, 2, 1, 30, 4, 4, 2, 5],
        stack: 'sponsor-1'
    }
    ]
});


Make a proposal!

The client doesn't want to make prepayment? Offer him to make a payment via Safe to avoid possible fraud.

  1. 1 day200 ₴
    Yurii Pleshynets
     484   5    0

    Доброго дня, готовий до співпраці. Проект з highchatrs тут - https://freelancehunt.com/freelancer/yurii_pleshynets.html#snippet-514853

    Ukraine Lvov | 20 July 2017 |
  2. 3 days200 ₴
    Платон С.
     478  verified   25    2

    Добрый день!
    Все поправлю.
    Обращайтесь.

    Ukraine Zaporozhe | 20 July 2017 |

Client
Project published
19 July 2017
77 views
Contractor location
Ukraine Ukraine
Payment methods