Javascript 从数组值获取值以形成聊天
我从表格中提取反馈,并将其转换为以下格式进行分析: 这食物很糟糕 显性:阴性,得分:Javascript 从数组值获取值以形成聊天,javascript,php,jquery,arrays,charts,Javascript,Php,Jquery,Arrays,Charts,我从表格中提取反馈,并将其转换为以下格式进行分析: 这食物很糟糕 显性:阴性,得分:Array([neg]=>0.5[neu]=>0.25[pos]=>0.25) 这辆车很糟糕 显性:阴性,得分:Array([neg]=>0.5[neu]=>0.25[pos]=>0.25) 弦:这座桥很糟糕 显性:阴性,得分:Array([neg]=>0.5[neu]=>0.25[pos]=>0.25) 我所要做的就是计算负、正和中性的所有值,并将它们显示在饼图中 这是我想使用数组元素开发的图表的一个示例 您可
Array([neg]=>0.5[neu]=>0.25[pos]=>0.25)
这辆车很糟糕
显性:阴性,得分:Array([neg]=>0.5[neu]=>0.25[pos]=>0.25)
弦:这座桥很糟糕
显性:阴性,得分:Array([neg]=>0.5[neu]=>0.25[pos]=>0.25)
我所要做的就是计算负、正和中性的所有值,并将它们显示在饼图中
这是我想使用数组元素开发的图表的一个示例
您可以按如下方式操作:-
<?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>
load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图()
{
var data=google.visualization.arrayToDataTable(
);
变量选项={
标题:“情绪与评级”
};
var chart=new google.visualization.PieChart(document.getElementById(“employee_PieChart”);
图表绘制(数据、选项);
}
身体
{
保证金:0自动;
填充:0px;
文本对齐:居中;
宽度:100%;
字体系列:“Myriad Pro”,“Helvetica Neue”,Helvetica,Arial,无衬线;
背景色:#FAFAFA;
}
#包装纸
{
保证金:0自动;
填充:0px;
文本对齐:居中;
宽度:995px;
}
#包装h1
{
边缘顶部:50px;
字体大小:45px;
颜色:#5858;
}
#包装纸H1P
{
字号:18px;
}
#员工图表
{
填充:0px;
宽度:600px;
高度:400px;
左边距:190px;
}
本地端的输出:-这些数组是php数组还是jQuery数组?如果是php,那么求和可以这样做:-它们是php数组。检查此链接:-谢谢。我想我们正在取得进展。但是,我需要计算Neg、Neu和Pos的总值,并使用总值绘制图表,谢谢。我认为这个解决办法会奏效。我如何实现这个$rating_data=array(array('情绪','标准差'),array('负面',5),array('正面',20),array('中性',1));令人惊叹的非常感谢。如果这些线是灵活的,可以超过50个阵列,该怎么办。我在说这个$a=阵列('neg'=>0.5,'neu'=>0.25,'pos'=>0.25)$密钥=数组密钥($a)//获取数组$b=数组的te键('neg'=>0.5,'neu'=>0.25,'pos'=>0.25)$c=阵列('neg'=>0.5,'neu'=>0.25,'pos'=>0.25);我该怎么办?@KayBamigboye很高兴能帮助你:):)。请提出一个新问题以供进一步查询您的意思是我应该为我的新问题打开一个新问题?@KayBamigboye yes使用正确的输入数据和您的代码工作以及预期结果提出新问题