如果在一定百分比以下,则排除价值

时间:2013-06-14 23:56:44

标签: php cakephp chart.js

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

在我的饼图中,我有近10个值约为饼图的0.01%,我正试图将其删除。

有人有什么想法吗?

谷歌搜索这个看起来似乎没有那么受欢迎也不​​受支持,使用别的东西会更合理吗?

编辑:

cakephp MODEL:

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 = [
        <?php
        foreach($output as $compound => $sum){
          echo "{category: '".$compound."', value: ".$sum."}, ";
        }      
        ?>      
    ];

2 个答案:

答案 0 :(得分:0)

我认为您需要在调用chartjs之前过滤数据集以创建图表。有没有理由不这样做?

答案 1 :(得分:0)

$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."}, ";

}

    }      
    ?>      
];