【问题标题】:Is there a way to make the Y-axis not adapt to the loaded tables for Google Column Charts?有没有办法让 Y 轴不适应谷歌柱形图的加载表?
【发布时间】:2020-08-25 03:14:29
【问题描述】:

我目前正在致力于一个信息安全项目,在该项目中加载虚构数据并使用谷歌图表进行可视化。但是,在加载柱形图时,Y 轴以一种不需要的方式加载,我已经尝试了多次测试来确定问题所在,但到目前为止还没有成功。 p>

我有 3 个表,每个表有 2 个属性。这些表是:“Phishing”、“SpearPhishing”和“RogueRouter”。它们都有两列,我想计算并显示属性名称,例如“curious”和“intent”。

正在使用以下 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 中,运行时显示如下:

但是,在我的 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>

显示如下:

Y 轴的值不是从 0 到 40 的梯度,我不知道问题出在哪里。非常感谢任何帮助,甚至一些轻微的建议也会有所帮助,因为我感觉有点卡住了。此外,正如我在本文开头提到的那样,这个项目背后没有任何恶意活动,恰恰相反。

【问题讨论】:

    标签: php html sql charts visualization


    【解决方案1】:

    我自己解决了!问题是用于读取行的 PHP 语法。

    下一行:

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

    被替换为:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-22
      相关资源
      最近更新 更多