mrKhatter
@mrKhatter
программист

Как визуализировать данные от API Яндекс.метрики в jQuery.flot.chart.js?

Доброго времени суток, гуру!

Вопрос в том что нужно сделать дашборд для админки, нашел интересную библиотеку (flot.js) но на вход она хочет принимать массив такого вида [[0,1],[1,3],[2,-4],[3,2],[4,0.5],[5,0.7],[6,-1],[7,4],[8,2]], где первая это ось у, а вторая х. Но, API Я.М дает json такого вида:
array(5) {
  [0]=>
  object(stdClass)#5 (11) {
    ["wday"]=>
    int(0)
    ["denial"]=>
    int(0)
    ["visits"]=>
    int(2)
    ["new_visitors_perc"]=>
    int(0)
    ["page_views"]=>
    int(13)
    ["date"]=>
    string(8) "20141006"
    ["visit_time"]=>
    int(1243)
    ["depth"]=>
    float(6.5)
    ["new_visitors"]=>
    int(0)
    ["visitors"]=>
    int(1)
    ["id"]=>
    string(8) "20141006"
  }
  [1]=>
  object(stdClass)#6 (11) {
    ["wday"]=>
    int(6)
    ["denial"]=>
    int(0)
    ["visits"]=>
    int(2)
    ["new_visitors_perc"]=>
    int(0)
    ["page_views"]=>
    int(2)
    ["date"]=>
    string(8) "20141005"
    ["visit_time"]=>
    int(15)
    ["depth"]=>
    int(1)
    ["new_visitors"]=>
    int(0)
    ["visitors"]=>
    int(2)
    ["id"]=>
    string(8) "20141005"
  }
  [2]=>
  object(stdClass)#7 (11) {
    ["wday"]=>
    int(5)
    ["denial"]=>
    int(0)
    ["visits"]=>
    int(1)
    ["new_visitors_perc"]=>
    int(0)
    ["page_views"]=>
    int(1)
    ["date"]=>
    string(8) "20141004"
    ["visit_time"]=>
    int(16)
    ["depth"]=>
    int(1)
    ["new_visitors"]=>
    int(0)
    ["visitors"]=>
    int(1)
    ["id"]=>
    string(8) "20141004"
  }
  [3]=>
  object(stdClass)#8 (11) {
    ["wday"]=>
    int(4)
    ["denial"]=>
    int(0)
    ["visits"]=>
    int(1)
    ["new_visitors_perc"]=>
    int(0)
    ["page_views"]=>
    int(1)
    ["date"]=>
    string(8) "20141003"
    ["visit_time"]=>
    int(15)
    ["depth"]=>
    int(1)
    ["new_visitors"]=>
    int(0)
    ["visitors"]=>
    int(1)
    ["id"]=>
    string(8) "20141003"
  }
  [4]=>
  object(stdClass)#9 (11) {
    ["wday"]=>
    int(3)
    ["denial"]=>
    int(0)
    ["visits"]=>
    int(2)
    ["new_visitors_perc"]=>
    int(1)
    ["page_views"]=>
    int(62)
    ["date"]=>
    string(8) "20141002"
    ["visit_time"]=>
    int(5391)
    ["depth"]=>
    int(31)
    ["new_visitors"]=>
    int(2)
    ["visitors"]=>
    int(2)
    ["id"]=>
    string(8) "20141002"
  }
}

Мне для отображения посетителей нужны значения visits и date. Но как их вытащить и засунуть в массив который нужен flot`у?
ЗЫ: прошу прощения за столь сумбурное описание задачи, мысли путаются так как сутки уж не спал!
  • Вопрос задан
  • 2817 просмотров
Пригласить эксперта
Ответы на вопрос 1
difiso
@difiso
В параллельной вселенной я космонавт
Примерно так (писал не проверяя, могут быть ошибки)
<?php
$result = array_map(
    function ($source){
        $data = (array)$source;
        return array($data['visits'], $data['date']);
    },
    $yandex_data);
?>

Подробнее тут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы