Google Charts Динамические массивы PHP без SQL

  • Автор темы Igor Shabanov
  • 27
  • Обновлено
  • 12, May 2024
  • #1
Я задаю этот вопрос, потому что все ответы, которые я мог найти для подобных проблем, были с использованием MySQL, а я нет, просто API JSON для получения данных, которые затем помещаю в массивы, которые хочу отобразить в виде графика Google.

Все, что я знаю, это то, что мне нужно как-то правильно отформатировать массивы, чтобы они отображались, но я понятия не имею, как это сделать в моем случае.

Мне просто хотелось бы иметь простую круговую диаграмму, основанную на приведенных ниже массивах.

Пока что у меня на сайте пустое место.

Раньше я пробовал что-то с Json_encode, но это не сработало, поэтому я решил оставить все как есть и вместо этого прийти сюда.

Вот массивы после того, как я выполнил print_r: Массив 'имя'-
 

<?php

echo json_encode($name);

echo json_encode($sumOf);

?>

<script type="text/javascript" src="[URL='https://lumtu.com/yti/auIIuanNodHRwczovL2dzdGF0aWMuY29tL2NoYXJ0cy9sb2FkZXkF2']https://www.gstatic.com/charts/loader.js[/URL]"></script>

<script type="text/javascript">

google.charts.load('current', {'packages':['corechart']});

google.charts.setOnLoadCallback(drawChart);

var ar = <?php echo json_encode($name) ?>;

var ar1 = <?php echo json_encode($sumOf) ?>;

function drawChart() {

var data = google.visualization.arrayToDataTable([

['Name', 'Allocation'],

[ar, ar1]

]);

var options = {

title: 'Portfolio Allocation'

};

var chart = new google.visualization.PieChart(document.getElementById('piechart'));

chart.draw(data, options);

}

</script>

Код (разметка): Массив 'sumOf'-
 Array ( [0] => 5811.63 [1] => 116135.97 [2] => 1564.1 [3] => 1053 [4] => 113.1 [5] => 521.4 [6] => 1960.2 [7] => 1100.4 )
Код (разметка):
 Array ( [0] => FB Inc [1] => Alphabet Class A [2] => Apple Inc [3] => Ford Motor Company [4] => Adv Micro Devices [5] => Morgan Stanley [6] => Berkshire Hath Hld B [7] => JP Morgan Chase & Co )
Код (разметка): Дело в том, что эти массивы генерируются динамически.

Это означает, что в любой момент пользователь может что-то добавить или убрать.

Следовательно, эти графики необходимо будет соответствующим образом корректировать при каждом обновлении входных массивов wto.

Надеюсь, вы понимаете, что я имею в виду, и был бы очень признателен, если бы кто-нибудь помог мне с этим.

Igor Shabanov


Рег
12 Oct, 2012

Тем
1

Постов
2

Баллов
12
  • 04, Jun 2024
  • #2
Ух ты! Это действительно работает! Я искал ответ и тестировал разные вещи в течение нескольких дней, но ничего не помогло, но это работает.

Большое спасибо! Это именно то, чего я хотел. Только один последний вопрос.

Я заметил, что по какой-то причине на круговой диаграмме под именами есть опция «Другое», но в массиве такого результата нет.

Есть ли способ избавиться от этого или это просто так работает эта диаграмма? Еще раз спасибо!
 

zzzzuka


Рег
01 Jan, 2011

Тем
1

Постов
3

Баллов
13
  • 10, Jun 2024
  • #3
Если придется, то обязательно сделаю.

Я спрашиваю, потому что в этом сценарии это не имеет особого смысла, потому что варианта «Другое» просто не может быть, учитывая, что это портфель акций, поэтому он всегда будет заполнен на 100%, без какого-либо места.

для «Другого», если вы понимаете, о чем я. Еще раз спасибо!
 

newsdonetsk


Рег
01 Jan, 2011

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно