本文整理匯總了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");
}
}