Ejemplo n.º 1
0
}
$line->y_order = array('allusers');
if ($groups) {
    foreach (array_keys($groups) as $group) {
        $useridingroup = get_users_by_capability($modcontext, array('mod/quiz:reviewmyattempts', 'mod/quiz:attempt'), '', '', '', '', $group, '', false);
        if ($useridingroup) {
            $useridingrouplist = join(',', array_keys($useridingroup));
            $groupdata = quiz_report_grade_bands($bandwidth, $bands, $quizid, $useridingrouplist);
            if ($groupdata) {
                $line->parameter['bar_size'] = 1.2;
                $line->y_data['groupusers' . $group] = $groupdata;
                //only turn on legends if there is more than one set of bars
                $line->parameter['legend'] = 'outside-top';
                $line->parameter['legend_border'] = 'black';
                $line->parameter['legend_offset'] = 4;
                $line->y_format['groupusers' . $group] = array('colour' => graph_get_new_colour(), 'bar' => 'fill', 'shadow_offset' => 1, 'legend' => groups_get_group_name($group));
                $line->y_order[] = 'groupusers' . $group;
            }
        }
    }
}
$line->parameter['y_min_left'] = 0;
// start at 0
$line->parameter['y_max_left'] = max($line->y_data['allusers']);
$line->parameter['y_decimal_left'] = 0;
// 2 decimal places for y axis.
//pick a sensible number of gridlines depending on max value on graph.
$gridlines = max($line->y_data['allusers']);
while ($gridlines >= 10) {
    if ($gridlines >= 50) {
        $gridlines = $gridlines / 5;
Ejemplo n.º 2
0
$line->parameter['y_label_left'] = '%';
$line->parameter['x_label'] = get_string('position', 'quiz_statistics');
$line->parameter['y_label_angle'] = 90;
$line->parameter['x_label_angle'] = 0;
$line->parameter['x_axis_angle'] = 60;
$line->parameter['legend'] = 'outside-right';
$line->parameter['legend_border'] = 'black';
$line->parameter['legend_offset'] = 4;
$line->parameter['bar_size'] = 1;
$line->parameter['zero_axis'] = 'grayEE';
$fieldstoplot = array('facility' => get_string('facility', 'quiz_statistics'), 'discriminativeefficiency' => get_string('discriminative_efficiency', 'quiz_statistics'));
$fieldstoplotfactor = array('facility' => 100, 'discriminativeefficiency' => 1);
$line->x_data = array();
foreach (array_keys($fieldstoplot) as $fieldtoplot) {
    $line->y_data[$fieldtoplot] = array();
    $line->y_format[$fieldtoplot] = array('colour' => graph_get_new_colour(), 'bar' => 'fill', 'shadow_offset' => 1, 'legend' => $fieldstoplot[$fieldtoplot]);
}
foreach ($questionstatistics as $questionstatistic) {
    $line->x_data[$questions[$questionstatistic->questionid]->number] = $questions[$questionstatistic->questionid]->number;
    foreach (array_keys($fieldstoplot) as $fieldtoplot) {
        $value = !is_null($questionstatistic->{$fieldtoplot}) ? $questionstatistic->{$fieldtoplot} : 0;
        $value = $value * $fieldstoplotfactor[$fieldtoplot];
        $line->y_data[$fieldtoplot][$questions[$questionstatistic->questionid]->number] = $value;
    }
}
foreach (array_keys($line->y_data) as $fieldtoplot) {
    ksort($line->y_data[$fieldtoplot]);
    $line->y_data[$fieldtoplot] = array_values($line->y_data[$fieldtoplot]);
}
ksort($line->x_data);
$line->x_data = array_values($line->x_data);
Ejemplo n.º 3
0
$graph->parameter['zero_axis'] = 'grayEE';

// Configure what to display.
$fieldstoplot = array(
    'facility' => get_string('facility', 'quiz_statistics'),
    'discriminativeefficiency' => get_string('discriminative_efficiency', 'quiz_statistics')
);
$fieldstoplotfactor = array('facility' => 100, 'discriminativeefficiency' => 1);

// Prepare the arrays to hold the data.
$xdata = array();
foreach (array_keys($fieldstoplot) as $fieldtoplot) {
    $ydata[$fieldtoplot] = array();
    $graph->y_format[$fieldtoplot] = array(
        'colour' => graph_get_new_colour(),
        'bar' => 'fill',
        'shadow_offset' => 1,
        'legend' => $fieldstoplot[$fieldtoplot]
    );
}

// Fill in the data for each question.
foreach ($questionstatistics as $questionstatistic) {
    $number = $questions[$questionstatistic->slot]->number;
    $xdata[$number] = $number;

    foreach ($fieldstoplot as $fieldtoplot => $notused) {
        $value = $questionstatistic->$fieldtoplot;
        if (is_null($value)) {
            $value = 0;