Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 31.05.2021, 20:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

highcharts подготовка данных
ureech,

<!DOCTYPE html>

<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .highcharts-figure,
        .highcharts-data-table table {
            min-width: 360px;
            max-width: 800px;
            margin: 1em auto;
        }

        .highcharts-data-table table {
            font-family: Verdana, sans-serif;
            border-collapse: collapse;
            border: 1px solid #EBEBEB;
            margin: 10px auto;
            text-align: center;
            width: 100%;
            max-width: 500px;
        }

        .highcharts-data-table caption {
            padding: 1em 0;
            font-size: 1.2em;
            color: #555;
        }

        .highcharts-data-table th {
            font-weight: 600;
            padding: 0.5em;
        }

        .highcharts-data-table td,
        .highcharts-data-table th,
        .highcharts-data-table caption {
            padding: 0.5em;
        }

        .highcharts-data-table thead tr,
        .highcharts-data-table tr:nth-child(even) {
            background: #f8f8f8;
        }

        .highcharts-data-table tr:hover {
            background: #f1f7ff;
        }
    </style>

</head>

<body>
    <script src="https://code.highcharts.com/highcharts.js"></script>
    <figure class="highcharts-figure">
        <div id="container"></div>
    </figure>
    <script>
        let op = {
            title: {
                text: 'График'
            }
        };
        const obj = {
    weight: [
        { "2021-05-01": 100},
        { "2021-05-05": "99,9"},
        { "2021-05-10": 99},
        { "2021-05-15": "98,5"},
        { "2021-05-20": 98 },
        { "2021-05-25": 97.5 },
    ],
    weist: [
        { "2021-05-01": 100},
        { "2021-05-05": "99,9"},
        { "2021-05-10": 99},
        { "2021-05-15": 98},
        { "2021-05-20": 97},
        { "2021-05-25": 96.5}
    ]
        }
        const rep = a => typeof a == "string" ? +a.replace(",", ".") : a;
        const fn = ({ weight, weist }) => ({
            xAxis: {
                categories: weight.map(a => Object.keys(a)[0])
            },
            series: [{
                    name: 'weight',
                    data: weight.map(a => rep(Object.values(a)[0]))
                },
                {
                    name: 'weist',
                    data: weist.map(a => rep(Object.values(a)[0]))
                }
            ]
        })

        Object.assign(op, fn(obj));
        Highcharts.chart('container', op);
    </script>
</body>

</html>
Ответить с цитированием
  #12 (permalink)  
Старый 31.05.2021, 20:38
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

ksa, ааа..,а я всё наобород пробовал).
Ответить с цитированием
  #13 (permalink)  
Старый 31.05.2021, 20:39
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

рони, weight и weist заранее не известны.
Ответить с цитированием
  #14 (permalink)  
Старый 31.05.2021, 20:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от ureech
weight и weist заранее не известны.
это не многое изменит ... )))
Ответить с цитированием
  #15 (permalink)  
Старый 31.05.2021, 21:20
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

рони, ясно.Разберусь значит. Спасибо).
Ответить с цитированием
  #16 (permalink)  
Старый 31.05.2021, 21:20
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

ksa, спасибо большое).
Ответить с цитированием
  #17 (permalink)  
Старый 31.05.2021, 21:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

ureech,
шифровка из центра)))
<!DOCTYPE html>

<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .highcharts-figure,
        .highcharts-data-table table {
            min-width: 360px;
            max-width: 800px;
            margin: 1em auto;
        }

        .highcharts-data-table table {
            font-family: Verdana, sans-serif;
            border-collapse: collapse;
            border: 1px solid #EBEBEB;
            margin: 10px auto;
            text-align: center;
            width: 100%;
            max-width: 500px;
        }

        .highcharts-data-table caption {
            padding: 1em 0;
            font-size: 1.2em;
            color: #555;
        }

        .highcharts-data-table th {
            font-weight: 600;
            padding: 0.5em;
        }

        .highcharts-data-table td,
        .highcharts-data-table th,
        .highcharts-data-table caption {
            padding: 0.5em;
        }

        .highcharts-data-table thead tr,
        .highcharts-data-table tr:nth-child(even) {
            background: #f8f8f8;
        }

        .highcharts-data-table tr:hover {
            background: #f1f7ff;
        }
    </style>

</head>

<body>
    <script src="https://code.highcharts.com/highcharts.js"></script>
    <figure class="highcharts-figure">
        <div id="container"></div>
    </figure>
    <script>
        let op = {
            title: {
                text: 'График'
            }
        };
        const obj = {
    weight: [
        { "2021-05-01": 100},
        { "2021-05-05": "99,9"},
        { "2021-05-10": 99},
        { "2021-05-15": "98,5"},
        { "2021-05-20": 98 },
        { "2021-05-25": 97.5 },
    ],
    weist: [
        { "2021-05-01": 100},
        { "2021-05-05": "99,9"},
        { "2021-05-10": 99},
        { "2021-05-15": 98},
        { "2021-05-20": 97},
        { "2021-05-25": 96.5}
    ]
        }
        const rep = a => typeof a == "string" ? +a.replace(",", ".") : a;
        const fn = obj => ({
            xAxis: {
                categories: Object.values(obj)[0].map(a => Object.keys(a)[0])
            },
            series: Object.entries(obj).map(([name, data]) => (data = data.map(a => rep(Object.values(a)[0])), {name, data}))
        })

        Object.assign(op, fn(obj));
        Highcharts.chart('container', op);
    </script>
</body>

</html>
Ответить с цитированием
  #18 (permalink)  
Старый 01.06.2021, 09:20
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Да,ужж...Массивы(объекты) это что то. В php такая же хрень. Пока въехал,весь мозг себе вынес))).
P.S. Вот глаз, сразу заметили точки и запятые. А я только тогда,когда увидел прерывающийся график)

Последний раз редактировалось ureech, 01.06.2021 в 09:23.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь по поиску готовой библиотеки JavaScript векторной графики как в Экселе Николай333 Библиотеки/Тулкиты/Фреймворки 1 08.06.2020 17:13
вылет снова в очередь на fifa.com fifa2018 Ваши сайты и скрипты 0 10.07.2018 15:53
И снова прошу помощи!!!!!!!! igrovik Элементы интерфейса 5 12.01.2016 04:47
красивые графики для сайта him Общие вопросы Javascript 7 06.08.2014 11:43
динамические графики Sveta Общие вопросы Javascript 3 21.01.2013 13:55