Разделите xKey на несколько атрибутов в Моррисе. js? - PullRequest
0 голосов
/ 05 марта 2020

Я отображаю MySQL значений в столбчатой ​​диаграмме, созданной Моррисом. js с использованием PHP. В настоящее время я показываю только один атрибут по оси X и его значения по оси Y. Можно ли разделить xkey на несколько атрибутов?

То есть, для ID = BBAT102 будут отображаться значения Wrongs, Rights и Percentage. Но вместо этого я хочу, чтобы в xKey упоминались Wrongs, Rights and Percentage, чтобы у каждого из этих атрибутов была своя полоса.

enter image description here

php:

while($row = mysqli_fetch_array($result))
{
$chart_data .= "{ ID:'".$row["ID"]."', Wrongs:".$row["Wrongs"].", Rights:".$row["Rights"]." , Age:".$row["Age"]. ", Percentage:'".$row["Percentage"]."'},";

}
echo $chart_data;

js:

<script>
$(document).ready(function () { 
 Morris.Bar({
  element: 'chart',
  data:[<?php echo $chart_data; ?>],
  xkey: 'ID',  //Currently displaying ID but I need 'Wrongs', 'Rights', 'Percentage' to be displayed
  ykeys: ['Wrongs', 'Rights', 'Percentage'],
  labels: ['Wrongs', 'Rights', 'Perecentage'],
    hideHover:true,
  stacked:true
  });
});
</script>

1 Ответ

0 голосов
/ 05 марта 2020

Я сложил все один на один, поэтому он складывался вертикально друг к другу. Я пересоздал скрипт для поддержки не-стекирования;

<script>
$(document).ready(function () { 
var labelColor = jQuery('#chart').css('color');
 Morris.Bar({
  element: 'chart',
  data:[<?php echo $chart_data; ?>],
  xkey: 'ID',
  ykeys: ['Rights', 'Wrongs', 'Percentage'],
  labels: ['Rights','Wrongs', 'Percentage'],
  hideHover:true,
  gridTextColor: labelColor,
  barColors: jQuery('#chart').data('colors').split(',')
 // yLabelFormat: function(y) {return y = Math.round(y);}
  });
});
</script>
...