本文整理汇总了PHP中XYDataSet::getPointWithX方法的典型用法代码示例。如果您正苦于以下问题:PHP XYDataSet::getPointWithX方法的具体用法?PHP XYDataSet::getPointWithX怎么用?PHP XYDataSet::getPointWithX使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XYDataSet
的用法示例。
在下文中一共展示了XYDataSet::getPointWithX方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generarGraficaMediaErrores
/**
* Función que genera la gráfica con el promedio de los
* errores cometidos por los alumnos. Va a mostrarse
* en el panel del profesor.
*
*/
public function generarGraficaMediaErrores()
{
$chart = new \VerticalBarChart(800, 350);
$serie_errores_unitarios = new \XYDataSet();
$serie_errores_excepcion = new \XYDataSet();
$num_alumnos_por_intento = array();
$alumnos_tabla = TableRegistry::get("Alumnos");
$alumnos = $alumnos_tabla->find('all');
$intento_realizado = false;
foreach ($alumnos as $alumno) {
$intentos_tabla = TableRegistry::get("Intentos");
$intentos = $intentos_tabla->find('all')->where(['tarea_id' => $_SESSION["lti_idTarea"], 'alumno_id' => $alumno->id]);
foreach ($intentos as $intento) {
$intento_realizado = true;
$clave = "Intento " . $intento->numero_intento;
if (array_key_exists($clave, $num_alumnos_por_intento)) {
$num_alumnos_por_intento[$clave] += 1;
} else {
$num_alumnos_por_intento[$clave] = 1;
}
// Errores
$num_errores_unitarios = 0;
$num_errores_excepcion = 0;
$errores_tabla = TableRegistry::get("Errores");
$errores = $errores_tabla->find('all')->where(['intento_id' => $intento->id])->toArray();
foreach ($errores as $error) {
if ($error->tipo_error == "failure") {
$num_errores_unitarios++;
} else {
$num_errores_excepcion++;
}
}
$point_error_unitario = $serie_errores_unitarios->getPointWithX($clave);
if ($point_error_unitario != null) {
$point_error_unitario->setY(round(($point_error_unitario->getY() + $num_errores_unitarios) / $num_alumnos_por_intento[$clave]), 2);
} else {
$serie_errores_unitarios->addPoint(new \Point($clave, $num_errores_unitarios));
}
$point_error_excepcion = $serie_errores_excepcion->getPointWithX($clave);
if ($point_error_excepcion != null) {
$point_error_excepcion->setY(round(($point_error_excepcion->getY() + $num_errores_excepcion) / $num_alumnos_por_intento[$clave]), 2);
} else {
$serie_errores_excepcion->addPoint(new \Point($clave, $num_errores_excepcion));
}
}
}
if ($intento_realizado) {
$dataSet = new \XYSeriesDataSet();
$dataSet->addSerie("Unitarios", $serie_errores_unitarios);
$dataSet->addSerie("Excepciones", $serie_errores_excepcion);
$chart->setDataSet($dataSet);
$chart->getPlot()->setGraphCaptionRatio(0.75);
$chart->setTitle("Promedio de errores cometidos por intento");
$chart->render("img/" . $_SESSION["lti_idTarea"] . "-prof-promedioErroresUnitariosExcepciones.png");
}
}