Есть ли способ заставить ось Y не адаптироваться к загруженным таблицам для столбчатых диаграмм Google? - PullRequest
0 голосов
/ 09 мая 2020

В настоящее время я участвую в проекте по информационной безопасности, в котором вымышленные данные загружаются и визуализируются с помощью диаграмм Google. Однако при загружаемой столбчатой ​​диаграмме ось Y загружается нежелательным образом, и я пробовал несколько тестов, чтобы определить, в чем проблема, но пока не повезло .

У меня есть 3 таблицы по 2 атрибута в каждой. Это таблицы: «Фишинг», «SpearPhishing» и «RogueRouter». Все они имеют два столбца, которые я хочу подсчитать и представить с именами атрибутов, такими как «любопытно» и «намерение».

Используется следующий синтаксис SQL:

SELECT 'Phishing' as method, count(check_opened) as curious, count(clicked_link)
as intent FROM Phishing UNION ALL SELECT 'Spear Phishing' as method, count(check_opened)
as curious, count(clicked_link) as intent FROM SpearPhishing UNION ALL 
SELECT 'Rogue Router' as method, count(page_load) as curious, count(internet_intent)
as intent FROM RogueRouter GROUP BY method

В Phpmyadmin при запуске отображается следующее:

enter image description here

Однако со следующим кодом в моем PHP файле для отображения данных в виде столбцов:

<?php  
 $connect = mysqli_connect("localhost", "isprojectdbadmin", "isproject!23", "ISProjectDB");  
 $query = [THE SQL QUERY MENTIONED ABOVE]
 $result = mysqli_query($connect, $query);
 ?>

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load('current', {'packages':['bar']});
      google.charts.setOnLoadCallback(drawChart);

      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['method', 'curious', 'intent'],

         <?php
          while($row = mysqli_fetch_array($result))
          {
             echo "['".$row['method']."', '".$row['curious']."', '".$row['intent']."'], ";
          }
         ?>

        ]);
        };

        var chart = new google.charts.Bar(document.getElementById('columnchart_material'));

        chart.draw(data, google.charts.Bar.convertOptions(options));
      }
    </script>
  </head>
  <body>
    <div id="columnchart_material" style="width: 800px; height: 500px;"></div>
  </body>
</html>

Он отображает следующее:

enter image description here

Ось Y не имеет градиента в своих значениях, где она начинается от 0 до 40, и я понятия не имею , где находится проблема. Любая помощь приветствуется, или даже небольшие рекомендации будут полезны, так как я чувствую себя немного застрявшим. Вдобавок, как я уже упоминал в начале этого поста, за этим проектом нет никаких вредоносных действий, как раз наоборот.

1 Ответ

0 голосов
/ 09 мая 2020

Я решил это сам! Проблема заключалась в синтаксисе PHP для чтения строк.

Следующая строка:

echo "['".$row['method']."', '".$row['curious']."', '".$row['intent']."'], ";

заменена на:

echo "['".$row["method"]."', ".$row["curious"].", ".$row["intent"].", ],";
...