Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果低于某个百分比,则排除值_Php_Cakephp_Chart.js - Fatal编程技术网

Php 如果低于某个百分比,则排除值

Php 如果低于某个百分比,则排除值,php,cakephp,chart.js,Php,Cakephp,Chart.js,我正在尝试使用chartjs制作一个饼图,以显示数据库中几乎所有的数据。它所做的是计算某个单词在数据库中使用的次数,并将该次数用作值,将该单词用作名称 在我的饼图中,大约有10个值占饼图的0.01%,我正在尝试删除它们 有人有什么想法吗 谷歌搜索这使得chartjs看起来不那么受欢迎也不受支持,使用其他东西会更合理吗 编辑: cakephp模型: function pieChart($conditions = null) { //Get Data for PieChart $th

我正在尝试使用chartjs制作一个饼图,以显示数据库中几乎所有的数据。它所做的是计算某个单词在数据库中使用的次数,并将该次数用作值,将该单词用作名称

在我的饼图中,大约有10个值占饼图的0.01%,我正在尝试删除它们

有人有什么想法吗

谷歌搜索这使得chartjs看起来不那么受欢迎也不受支持,使用其他东西会更合理吗

编辑:

cakephp模型:

function pieChart($conditions = null) {
    //Get Data for PieChart
    $this->RecordDrug->virtualFields['sum'] ='COUNT(*)';
    $records = array();
    $records=$this->RecordDrug->find('list',
        array(
            'conditions' => $conditions,
            'fields' => array( 'Drug.drug', 'sum'),
            'contain' => array( 'Drug', 'Record' ),
            'group'  => 'Drug.Drug'
            ));
    return $records;
}
控制器:

    $pieChart = $this->Record->pieChart();
    $this->set('output',$pieChart); 
视图:

var pieChartDataSource=[

我想你需要的是在调用chartjs创建图表之前过滤你的数据集。有什么理由不这样做吗?

这看起来很完美,唯一的问题是我真的不知道如何在cakephpi中实现这一点。我从来没有使用过cakephp,但是你现在使用什么代码为chartWell输出数据这是我的问题,如何做到这一点?请发布创建数据集并调用chartjs的代码?
$sumofvars=array_sum($output);
$above_percent=0.1;

    foreach($output as $compound => $sum){

$percentage_to_eliminate=($sum/$sumofvars)*100;

if ($percentage_to_eliminate>$above_percent)
{

 echo "{category: '".$compound."', value: ".$sum."}, ";

}

    }      
    ?>      
];
$sumofvars=array_sum($output);
$above_percent=0.1;

    foreach($output as $compound => $sum){

$percentage_to_eliminate=($sum/$sumofvars)*100;

if ($percentage_to_eliminate>$above_percent)
{

 echo "{category: '".$compound."', value: ".$sum."}, ";

}

    }      
    ?>      
];