Software > Tu Web meteorológica
Meteograma Yr.no con gráficos dinámicos
jmviper:
Me alegro de que os haya servido el pequeño "arreglo" que le he hecho al meteograma :D :D
Lo más seguro es que el fallo lo vayan reportando en el foro de highcharts y vayan solucionándolo. Lo que yo he hecho ha sido como digo un arreglo pero quizás el día de mañana cuando cambien el código del meteograma o de la versión de highcharts o jQuery deje de funcionar algo >:(
Por ejemplo he visto en el código del meteograma de highcharts en su web que la función Ajax del json la han cambiado aunque a efectos prácticos hace lo mismo y el error sigue estando en lo que he dicho anteriormente.
En cuanto a lo del UTF-8 como ha dicho kocher lo mejor es ponerle su etiqueta "meta" en el head y te despreocupas de si escribes acentos etc etc en el documento. También los archivos PHP y cualquier otro que sean UTF-8 sin bom.
Ahora lo que veo es que no carga el meteograma de la URL de MeteOlot. En el navegador pone el error: Uncaught SyntaxError: Invalid or unexpected token (en Chrome) en la línea 504.
Corresponde a la línea:
format: '{value}º,
donde se te ha olvidado con lo de los grados cerrar la comilla simple.
Saludos
Ubik:
--- Cita de: MeteOlot en 08 de Agosto de 2017, 20:59:48 ---Debo perder facultades... :o no puedo editar mi post anterior ni borrar el segundo... no me aparecen las opciones ??? es normal?
--- Fin de la cita ---
Bueno, como dice Jmviper, se han cambiado algunas cosillas, entre ellas las opciones de borrado y edición de los post, y no por capricho.
Hay que darle las gracias a algunas personas que disfrutan tirando la piedra y escondiendo la mano.
No creo que sea serio que en un post se diga una cosa y en función de las respuestas se modifique el post
Siento que paguen justos por pecadores, pero es lo que hay, al menos por ahora.
MeteOlot:
--- Cita de: jmviper en 09 de Agosto de 2017, 22:44:21 ---Ahora lo que veo es que no carga el meteograma de la URL de MeteOlot. En el navegador pone el error: Uncaught SyntaxError: Invalid or unexpected token (en Chrome) en la línea 504.
Corresponde a la línea:
format: '{value}º,
donde se te ha olvidado con lo de los grados cerrar la comilla simple.
Saludos
--- Fin de la cita ---
Gracias jmviper efectivamente se me había pasado cerrar la comilla simple... ya está arreglado. ;)
No quisiera alargar el tema pero quizás le sea de ayuda a alguien en caso que fuera un detalle a poder elegir en cuanto a visualización, pero veo que entre el Meteograma de kocher:
- http://kocher.es/meteogram_yr_no.php#http://www.yr.no/place/Spain/Basque_Country/San_Sebastian/forecast_hour_by_hour.xml
y el mio...
- http://meteolot.com/meteograma_yr_no/meteogram_yr_no.php#http://www.yr.no/place/Spain/Catalonia/Olot/forecast_hour_by_hour.xml
...se observa que la escala de temperaturas en la parte izquierda del Meteograma, ésta aparece reflejada de distinta forma... mientras el de kocher los valores ascienden de grado en grado, en el mio sólo aparecen los dígitos de 8ºC en 8ºC :-\
He repasado la programación del php pero no he sabido encontrar como modificar ese detalle.
kocher:
--- Citar ---
...se observa que la escala de temperaturas en la parte izquierda del Meteograma, ésta aparece reflejada de distinta forma... mientras el de kocher los valores ascienden de grado en grado, en el mio sólo aparecen los dígitos de 8ºC en 8ºC :-\
He repasado la programación del php pero no he sabido encontrar como modificar ese detalle.
--- Fin de la cita ---
Yo creo que la escala del eje Y, viene gestionada por Highcharts de forma automática, en función de los valores máximos y mínimos.
Si bien es verdad que, nos permite actuar de forma manual en esa escala:
http://api.highcharts.com/highcharts/yAxis
jmviper:
Como dice kocher es un ajuste automático que realiza el script del meteograma. Específicamente es la función tickPositioner.
En tu código localiza estas líneas de la función:
--- Código: ---// Custom positioner to provide even temperature ticks from top down
tickPositioner: function () {
var max = Math.ceil(this.max) + 1,
pos = max - 12, // start
ret;
if (pos < this.min) {
ret = [];
while (pos <= max) {
ret.push(pos++);
}
} // else return undefined and go auto
return ret;
},
--- Fin del código ---
En ellas se pone que si la diferencia de temperatura entre la máxima y la mínima es mayor a 12 se pondrá el posicionamiento de las etiquetas en automático. En el meteograma de kocher ahora hay menos de esos 12ºC entre la máxima y la mínima por lo que la escala la hace de 1 en 1ºC.
Si por ejemplo cambias en la línea donde pone pos = max - 12, // start por pos = max - 22, // start irá de 1 en 1 grado hasta amplitudes de 22ºC. Lo malo es que te dibujará esa amplitud aunque haya poca realmente en la temperatura y se mostrará más plana la línea.
Solución, puedes probar a cambiarlo por el siguiente código:
--- Código: ---// Custom positioner to provide even temperature ticks from top down
tickPositioner: function () {
var max = Math.ceil(this.max),
pos = Math.round(this.min)-3, // start
ret = [];
while (pos <= max) {
ret.push(pos += 2);
}
// else return undefined and go auto
return ret;
},
--- Fin del código ---
Con él se hará el cálculo automáticamente y pondrá etiquetas cada 2 grados. Si quieres que sea cada grado puedes cambiar la línea ret.push(pos += 2); por ret.push(pos += 1);
Eso sí ... con amplitudes grandes de temperatura saldrán muuuchas etiquetas ::)
Saludos
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa