2017-06-15 4 views
0

zu bilden, bin ich aus einer Tabelle Feedback ziehen und es zu analysieren, indem sie es in das Format unter Umwandlung:Erste Werte von Array-Wert einen Chat

String: Das Essen ist sehr schlecht

Dominant: neg, Partituren: Array ([neg] => 0.5 [neu] => 0.25 [pos] => 0.25)

String: Das Auto ist sehr schlecht

Dominant: neg, Partituren: Array ([neg] => 0.5 [neu] => 0.25 [pos] => 0.25)

String: Die br Idge ist sehr schlecht

Dominant: neg, Partituren: Array ([neg] => 0.5 [neu] => 0.25 [pos] => 0.25)

Alles, was ich tun möchte, ist es, alle Werte für negative zu berechnen, positiv und neutral und präsentieren sie in einem Kreisdiagramm

Dieses eine ist Beispiel des Diagramms möchte ich mit dem Array-Element entwickeln

enter image description here

+0

diese Array sind PHP-Array oder jQuery-Array? Wenn PHP dann summiert werden kann wie folgt: - https://eval.in/817170 –

+0

Sie sind PHP-Arrays. –

+0

überprüfen Sie diesen Link: -http: //talkerscode.com/webtricks/display-data-in-pie-chart-using-php-and-jquery.php –

Antwort

1

Sie können es wie unten tun: -

<?php 
$a = Array ('neg' => 0.5, 'neu' => 0.25, 'pos' => 0.25); 
$key = array_keys($a); //get te keys of the array 
$b = Array ('neg' => 0.5, 'neu' => 0.25, 'pos' => 0.25); 
$c= Array ('neg' => 0.5, 'neu' => 0.25, 'pos' => 0.25); 
$d = array_map(function() { 
    return (array_sum(func_get_args())/3)*100; // add all three array corresponding keys values and convert them to percentage 
}, $a, $b,$c); 

$d = array_combine($key,$d); // now combine key array and sum array 
$d = array('Sentiment'=>'rating') + $d; // add which type of chart it is as a key value pair 
$rating_data = array(); //create a new array variable 

foreach($d as $key=>$val){ 
    $rating_data[] = array($key,$val); //convert summ array to key,value sub-array and assig it to new array 
} 
$encoded_data = json_encode($rating_data); //json encode the new array 
?> 

<html> 
    <head> 
     <script type="text/javascript" src="https://www.google.com/jsapi"></script> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
     <script type="text/javascript"> 
      google.load("visualization", "1", {packages:["corechart"]}); 
      google.setOnLoadCallback(drawChart); 
      function drawChart() 
      { 
      var data = google.visualization.arrayToDataTable(
      <?php echo $encoded_data; ?> 
      ); 
      var options = { 
       title: "Sentiment vs Rating" 
      }; 
      var chart = new google.visualization.PieChart(document.getElementById("employee_piechart")); 
      chart.draw(data, options); 
      } 
     </script> 
     <style> 
      body 
      { 
      margin:0 auto; 
      padding:0px; 
      text-align:center; 
      width:100%; 
      font-family: "Myriad Pro","Helvetica Neue",Helvetica,Arial,Sans-Serif; 
      background-color:#FAFAFA; 
      } 
      #wrapper 
      { 
      margin:0 auto; 
      padding:0px; 
      text-align:center; 
      width:995px; 
      } 
      #wrapper h1 
      { 
      margin-top:50px; 
      font-size:45px; 
      color:#585858; 
      } 
      #wrapper h1 p 
      { 
      font-size:18px; 
      } 
      #employee_piechart 
      { 
      padding:0px; 
      width:600px; 
      height:400px; 
      margin-left:190px; 
      } 
     </style> 
    </head> 
    <body> 
     <div id="employee_piechart" style="width: 900px; height: 500px;"></div> 
    </body> 
</html> 

Output an meinem lokalen Ende: - http://prntscr.com/fk71m2

+0

Super! Vielen Dank. Was ist, wenn diese Linien flexibel sind und mehr als 50 Arrays haben können? Ich rede darüber. $ a = Array ('neg' => 0,5, 'neu' => 0,25, 'pos' => 0,25); $ key = array_keys ($ a); // get te Schlüssel des Arrays $ b = Array ('neg' => 0,5, 'neu' => 0,25, 'pos' => 0,25); $ c = Array ('neg' => 0,5, 'neu' => 0,25, 'pos' => 0,25); Wie gehe ich damit um? –

+0

@KayBamigboye froh, Ihnen zu helfen :) :). Bitte stellen Sie eine neue Frage für weitere Fragen –

+0

Sie meinen, ich sollte eine neue Frage für meine neue Frage öffnen? –