Meteoclimatic
Software => WeatherLink => Mensaje iniciado por: kocher en 06 de Abril de 2017, 20:36:25
-
Os presento una forma muy sencilla de crear gráficos dinámicos e interactivos en base a los 2 archivos de texto creados por Weatherlink:
- downld02.txt
- downld08.txt
Demo:
http://kocher.es/graficos-highcharts/graph48h_temp.php (http://kocher.es/graficos-highcharts/graph48h_temp.php)
http://kocher.es/graficos-highcharts/graph48h_baro.php (http://kocher.es/graficos-highcharts/graph48h_baro.php)
http://kocher.es/graficos-highcharts/graph48h_humedad.php (http://kocher.es/graficos-highcharts/graph48h_humedad.php)
http://kocher.es/graficos-highcharts/graph48h_solar.php (http://kocher.es/graficos-highcharts/graph48h_solar.php)
http://kocher.es/graficos-highcharts/graph48h_uv.php (http://kocher.es/graficos-highcharts/graph48h_uv.php)
http://kocher.es/graficos-highcharts/graph48h_solar-uv.php (http://kocher.es/graficos-highcharts/graph48h_solar-uv.php)
http://kocher.es/graficos-highcharts/graph48h_lluvia.php (http://kocher.es/graficos-highcharts/graph48h_lluvia.php)
Link de descarga:
http://kocher.es/cajon/Gráficos-download02.rar (http://kocher.es/cajon/Gráficos-download02.rar)
Instalación:
- Bajar el archivo comprimido "Gráficos-download02.rar"
- Descomprimir el archivo
- Editar cada archivo en (aproximadamente) la línea 55:
//// indiquer le chemin du fichier Exemple: $download02 = "../NOAA/downld02.txt"
$download02 = "../downld02.txt";
Debemos indicar la dirección relativa del archivo "downld02.txt" respecto a este script.
Podemos crear tantos archivos gráficos como variables tiene downld02.txt (48 horas) o downld08.txt (7 días)
Una vez tengamos funcionando los gráficos, es cuestión de jugar con los colores, tipo de de gráficos (columna, área, ...).
No hace falta tener instaladas las librerías Highcharts en nuestra Web.
Para que Weatherlink "fabrique" estos dos archivos de texto, sólo hay que hacer lo siguiente:
downld02.txt Datos de 48 horas
downld08.txt Datos de 7 días
Para poder acceder a ellos, no tienes mas que configurar el apartado de Internet en Weatherlink:
(http://kocher.es/cajon/weatherlink1.png)
Ambos archivos proporcionan datos cada 5 minutos (en mi caso):
(http://kocher.es/cajon/weatherlink2.png)
http://kocher.es/downld02.txt (http://kocher.es/downld02.txt)
http://kocher.es/downld08.txt (http://kocher.es/downld08.txt)
Saludos desde San Sebastian
-
¡Perfecto! Es lo que estaba esperando para dar un lavado de cara a mi web.
Cuando tenga algo de tiempo me pondré a ello. ¡Gracias!
-
Hola
Por algun sitio me pierdo, yo tengo los dos archivos subidos a mi servidor web por un lado y tambien en una carpeta del weatherlink en mi pc.
la ruta que debo modificar es lo que no se exactaemnte cual poner, ya que pongo las dos y no se me genera el gráfico, o es que yo por alguna parte me dejo algo por hacer, no se si hay que subir alguna cosa más en el servidor para que haga los graficos o no es necesario nada mas.
Un saludo y muchas gracias por el trabajo.
-
Saludos meteoxabia
Si pones un enlace a uno de tus gráficos de Weatherlink, podremos saber que es lo que pasa :D
Por ejemplo, en mi caso: http://kocher.es/graficos-highcharts/graph48h_baro.php (http://kocher.es/graficos-highcharts/graph48h_baro.php)
-
Hay que descargar y tener en el servidor los archivos del higcharts?, porque sin nada más esto es lo que me aparece a mi: http://www.meteoxabia.com/estacions/port/graph48h_baro.php
algo no hago bien, y algo me falta creo yo
-
¿ Puedes poner la dirección de tu archivo downld02.txt ?
-
Esta es la dirección:
http://www.meteoxabia.com/estacions/port/noaaport/downld02.txt
-
jjjj, es lógico que no funcionara; debes indicar la dirección correcta del archivo de texto:
//// indiquer le chemin du fichier Exemple: $download02 = "./noaaport/downld02.txt";
-
pero es que lo he probado de diferentes modos y no sale, y creo que el problema viene por esto: "wwwroot" es la carpeta origen de mi servidor, pero que no hay que escribirla por que si se escribe no sale. Por ejemple mis datos estan en el servidor meteoxabia.com, y todo dentro de la carpeta wwwroot, en cambio en la ruta no debo de poner el "wwwroot" porque si no me sale error, no se si me explico bien.
Ejemplo, esta es la ruta de mi ftp: ftp.meteoxabia.com/wwwroot/estacions/port/noaaport/downld02.txt
en cambio la ruta para la web es sin el wwwroot: www.meteoxabia.com/estacions/port/noaaport/downld02.txt
No se si por ahí vendrá el fallo, ya que en el error me sale definida la ruta con el wwwroot.
-
Ahora me sale esto:
Warning: fopen(estacions/port/noaaport/downld02.txt) [function.fopen]: failed to open stream: No such file or directory in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficatemp.php on line 56
Warning: filesize() [function.filesize]: stat failed for estacions/port/noaaport/downld02.txt in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficatemp.php on line 57
Warning: fread(): supplied argument is not a valid stream resource in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficatemp.php on line 57
Warning: fclose(): supplied argument is not a valid stream resource in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficatemp.php on line 58
Y tengo así:
#############################################################
# Récupération des variables dans le fichier download02.txt #
#############################################################
//// indiquer le chemin du fichier Exemple: $download02 = "estacions/port/noaaport/downld02.txt"
$download02 = "estacions/port/noaaport/downld02.txt";
-
Ahora poniendo tal cual lo has hecho tu me sale esto:
Warning: fopen(./noaaport/downld02.txt) [function.fopen]: failed to open stream: No such file or directory in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficatemp.php on line 56
Warning: filesize() [function.filesize]: stat failed for ./noaaport/downld02.txt in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficatemp.php on line 57
Warning: fread(): supplied argument is not a valid stream resource in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficatemp.php on line 57
Warning: fclose(): supplied argument is not a valid stream resource in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficatemp.php on line 58
Creo que el error debe estar con el "wwwroot", no se pero me da a mi que debe ser.
-
Poco a poco ...
El archivo que genera el gráfico está en:
http://www.meteoxabia.com/estacions/port/graph48h_baro.php (http://www.meteoxabia.com/estacions/port/graph48h_baro.php)
Para que funcione, tiene que ir a buscar el archivo de datos que está en:
http://www.meteoxabia.com/estacions/port/noaaport/downld02.txt (http://www.meteoxabia.com/estacions/port/noaaport/downld02.txt)
Esto quiere decir que en el archivo "graph48h_baro.php" (y en todos los archivos gráficos), debes editar la línea donde se define la dirección relativa de la variable $download02, para que quede así:
//// indiquer le chemin du fichier Exemple: $download02 = "../NOAA/downld02.txt" (se trata de un ejemplo)
$download02 = "./noaaport/downld02.txt";
//// indiquer le chemin du fichier Exemple: $download02 = "../NOAA/downld02.txt"
$download02 = "./noaaport/downld02.txt"; // (baja un nivel hasta la carpeta que señalamos)
- También serían correctas las siguientes direcciones:
$download02 = "/noaaport/downld02.txt"; // (baja un nivel hasta la carpeta que señalamos)
$download02 = "noaaport/downld02.txt"; // (baja un nivel hasta la carpeta que señalamos)
$download02 = "../estacions/port/noaaport/downld02.txt"; // (sube un nivel y baja hasta la carpeta que señalamos)
- Si estuvieran los dos archivos en el mismo directorio, habría que poner:
$download02 = "downld02.txt"; // o ./downld02.txt o /downld02.txt
Nota:
En PHP todo lo que viene tras //, no es procesado; se considera un comentario.
Cualquier línea de código en PHP, puede ser desactivada, colocando // en el comienzo de esa línea.
-
algo me falla porque sigue todo igual sigue apareciendo el mismo error:
Warning: fopen(../estacions/port/noaaport/downld02.txt) [function.fopen]: failed to open stream: No such file or directory in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficabaro.php on line 58
Warning: filesize() [function.filesize]: stat failed for ../estacions/port/noaaport/downld02.txt in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficabaro.php on line 59
Warning: fread(): supplied argument is not a valid stream resource in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficabaro.php on line 59
Warning: fclose(): supplied argument is not a valid stream resource in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficabaro.php on line 60
Ese "C:\domains\meteoxabia.com\wwwroot\..." yo creo que ahí està el fallo, el wwwroot ese no debería aparecer
-
algo me falla porque sigue todo igual sigue apareciendo el mismo error:
Warning: fopen(../estacions/port/noaaport/downld02.txt) [function.fopen]: failed to open stream: No such file or directory in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficabaro.php on line 58
Warning: filesize() [function.filesize]: stat failed for ../estacions/port/noaaport/downld02.txt in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficabaro.php on line 59
Warning: fread(): supplied argument is not a valid stream resource in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficabaro.php on line 59
Warning: fclose(): supplied argument is not a valid stream resource in C:\domains\meteoxabia.com\wwwroot\estacions\port\noaaport\graficabaro.php on line 60
Ese "C:\domains\meteoxabia.com\wwwroot\..." yo creo que ahí està el fallo, el wwwroot ese no debería aparecer
No; ese es un mensaje del servidor. Está indicando que no existe el archivo o el directorio.
Prueba a darle permisos - con FileZilla - (655) al archivo"downld02.txt"
-
Ahora han cambiado las cosas, ya que los dos archivos se encuentran en el mismo directorio:
http://www.meteoxabia.com/estacions/port/noaaport/graficabaro.php (http://www.meteoxabia.com/estacions/port/noaaport/graficabaro.php)
http://www.meteoxabia.com/estacions/port/noaaport/downld02.txt (http://www.meteoxabia.com/estacions/port/noaaport/downld02.txt)
Entonces, debes editar el archivo "graficabaro.php" para que quede así:
//// indiquer le chemin du fichier Exemple: $download02 = "../NOAA/downld02.txt"(este es un ejemplo del autor)
$download02 = "downld02.txt"; // dado que se encuentran en el mismo directorio
-
Siiiii!!
Perfecto ahora si
Muchas gracias.
Estan solo las graficas para la presión, radiación solar y temperatura, no hay para lluvia por ejemplo?
-
Siiiii!!
Perfecto ahora si
Muchas gracias.
Estan solo las graficas para la presión, radiación solar y temperatura, no hay para lluvia por ejemplo?
jjj, ¡ Enhorabuena !
Sería bueno que explicaras en donde se encontraba la solución a tus problemas (por si le ocurre a cualquier otro usuario).
¿ Era por los permisos de archivo ?
Con ese archivo puedes extraer los datos de cualquier variable que aparece en el encabezado; tan solo debes editar el número que ocupa en dicho encabezado:
if (count($value)>3)
{
$time[$i] = $value[2];
$tempout[$index][$i] = $value[3]*1; // temperatura exterior
$dewpoint[$index][$i] = $value[7]*1; // punto de rocío
$heatindex[$index][$i] = $value[14]*1;
$temphumsolwind[$index][$i] = $value[16]*1;
$solrad[$index][$i] = $value[20]*1;
}
(http://kocher.es/cajon/weatherlink2.png)
El número de encabezado correspondiente a la lluvia, es el 18
Luego puedes indicar el tipo de gráfico que deseas: columna, línea, área ..
-
Siiiii!!
Perfecto ahora si
Muchas gracias.
Estan solo las graficas para la presión, radiación solar y temperatura, no hay para lluvia por ejemplo?
jjj, ¡ Enhorabuena !
Sería bueno que explicaras en donde se encontraba la solución a tus problemas (por si le ocurre a cualquier otro usuario).
¿ Era por los permisos de archivo ?
Con ese archivo puedes extraer los datos de cualquier variable que aparece en el encabezado; tan solo debes editar el número que ocupa en dicho encabezado:
if (count($value)>3)
{
$time[$i] = $value[2];
$tempout[$index][$i] = $value[3]*1; // temperatura exterior
$dewpoint[$index][$i] = $value[7]*1; // punto de rocío
$heatindex[$index][$i] = $value[14]*1;
$temphumsolwind[$index][$i] = $value[16]*1;
$solrad[$index][$i] = $value[20]*1;
}
El número de encabezado correspondiente a la lluvia, es el 18
Luego puedes indicar el tipo de gráfico que deseas: columna, área ..
El problema era que no escribía bien la ruta, yo ponía la ruta completa cuando solo era necesaria poner el "downld2.txt"
-
El problema era que no escribía bien la ruta, yo ponía la ruta completa cuando solo era necesaria poner el "downld2.txt"
Exactamente no es así; depende donde tengas uno y otro archivo.
Es interesante conocer la diferencia entre direcciones absolutas (dirección completa de una URL) y direcciones relativas.
lo he intentado explicar un poco antes :D
http://forum.meteoclimatic.net/index.php/topic,1308.msg10383.html#msg10383 (http://forum.meteoclimatic.net/index.php/topic,1308.msg10383.html#msg10383)
-
Bufff
Con ISS las rutas en PHP no son como con apache sino algo más complejas de configurar.... y los Alias de las carpetas etc
-
Bufff
Con ISS las rutas en PHP no son como con apache sino algo más complejas de configurar.... y los Alias de las carpetas etc
Las rutas en PHP son como he explicado antes; en los scripts solo se tienen en cuenta las direcciones de tu servidor.
Es mucho mas sencillo de lo que parece ;D
-
No me he sabido explicar... quería decir que hay que saber configurar carpetas y PHP en IIS... difiere algo de apache
-
No me he sabido explicar... quería decir que hay que saber configurar carpetas y PHP en IIS... difiere algo de apache
Saludos jmviper; te considero un maestro :)
-
el problema es más bien mio que no entiendo mucho de todo esto y me cuesta.
ahora por ejemplo estoy intentando hacer la grafica de la lluvia y algo no hago bien porque no me aparece, me sale en blanco.
seguiré probando a ver.
-
el problema es más bien mio que no entiendo mucho de todo esto y me cuesta.
ahora por ejemplo estoy intentando hacer la grafica de la lluvia y algo no hago bien porque no me aparece, me sale en blanco.
seguiré probando a ver.
http://kocher.es/graficos-highcharts/graph48h_lluvia.php (http://kocher.es/graficos-highcharts/graph48h_lluvia.php)
Me sale una línea plana porque no ha llovido en 48 horas jjj; este es el código:
http://kocher.es/graficos-highcharts/graph48h_lluvia.txt (http://kocher.es/graficos-highcharts/graph48h_lluvia.txt)
Hay que renombrar a "graph48h_lluvia.php"
La clave está en el tratamiento de la variable (línea 77):
for ($i=0; $i<$nb1[$index]; $i++)
{
$line[$i] =" ".$line[$i];
$line[$i] = str_replace($spaces,$space,$line[$i]);
$value = explode(" ",$line[$i]);
if (count($value)>3)
{
$time[$i] = $value[2];
$lluvia[$index][$i] = $value[18]*1; // esta es la línea clave para elegir el número de encabezado de "downld02.txt"
}
else
{
$time[$i] = null;
$lluvia[$index][$i] = null;
}
}
Poner el nombre apropiado en la codificación json (línea 93 ):
//encodage des variables
eval(<?php echo "'var time = ".json_encode($time)."'" ?>);
eval(<?php echo "'var lluvia = ".json_encode($lluvia)."'" ?>);
y adjudicar el valor de la matriz obtenida a nuestro gráfico (línea 192)
-
Hecho!
Gracias de nuevo, parece que por algun sitio me perdía yo y no escribia bien la lluvia
-
El tamaño del gráfico lo podemos adaptar a nuestro gusto en la línea 219
<div
id="container1" style="width: 930px; height: 350px; margin: 0 auto">
</div>
-
No me he sabido explicar... quería decir que hay que saber configurar carpetas y PHP en IIS... difiere algo de apache
Saludos jmviper; te considero un maestro :)
jejeje con lo que llevamos de post y me dice a mí maestro.... yo también te considero otro ;)
saludos
-
jejeje con lo que llevamos de post y me dice a mí maestro.... yo también te considero otro ;)
saludos
(http://kocher.es/cajon/chapeaubas.gif)
-
Y a todo esto...
Para seguir liandome y liandote, se puede hacer con la temperatura mensual y anual, o la lluvia mensual y anual, desde el archivo noaamo.txt y el noaayr.txt?
O ya es demasaido pedir?
-
Y a todo esto...
Para seguir liandome y liandote, se puede hacer con la temperatura mensual y anual, o la lluvia mensual y anual, desde el archivo noaamo.txt y el noaayr.txt?
O ya es demasaido pedir?
No es mala idea; me lo voy a mirar jjjj
-
Y a todo esto...
Para seguir liandome y liandote, se puede hacer con la temperatura mensual y anual, o la lluvia mensual y anual, desde el archivo noaamo.txt y el noaayr.txt?
O ya es demasaido pedir?
No es mala idea; me lo voy a mirar jjjj
apla3
Ya irás diciendo
Saludos y gracias por todo
-
jjj, Ya empieza a salir : :;
http://kocher.es/graficos-highcharts/graph-noaamo.php (http://kocher.es/graficos-highcharts/graph-noaamo.php)
Todavía hay que limar un par de cosillas:
- Eliminar los días sin datos
- Cargar el tema de fondo que mas nos guste
- Poder elegir el mes/año que queramos ...
-
Este es el código para ver el gráfico de temperaturas máxima, mínima y media diaria del mes actual:
http://kocher.es/graficos-highcharts/graph-noaamo.txt (http://kocher.es/graficos-highcharts/graph-noaamo.txt)
Tan solo, debemos indicar la dirección de nuestro archivo NOAA del mes actual (puede ser el de cualquier mes):
línea 62:
// indiquer le chemin du fichier. Exemple: $download02 = "../NOAA-reports/ "
$download02 = "../NOAA-reports/NOAA$fecha_noaa.TXT";
// indiquer le chemin du fichier. Exemple: $download02 = "../NOAA-reports/NOAA$fecha_noaa.TXT"
$download02 = "../NOAA-reports/NOAA$fecha_noaa.TXT";
-
Bueno, ya he añadido una primera gráfica a mi página web y ha quedado así:
http://www.meteoxabia.com/graficaport48h.htm
-
Una pregunta, que ando probando nuevas graficas con el noayr.txt pero no se las columnas como se enumeran aquí ya que la lluvia està separada más abajo así como tambien el viento.
Hay modo?
Gracias
-
Creo que esto va mejorando.
Ya podemos realizar gráficos dinámicos Highcharts, tomando los datos de nuestros archivos NOAA.
- Distingue entre el mes actual o cualquier otro
- No aparecen los días no transcurridos (en el mes actual).
- Se puede cambiar el color de fondo del gráfico.
- Se puede adaptar a cualquier formato de archivos NOAA
- Valores de la temperatura <0 o >30 ºC, resaltados en color diferente.
Para cargar el mes actual, tan solo llamamos a:
http://kocher.es/graficos-highcharts/graph-noaamo.php (http://kocher.es/graficos-highcharts/graph-noaamo.php)
Para ver cualquier otro mes, lo llamamos así:
http://kocher.es/graficos-highcharts/graph-noaamo.php?mes=2016-08 (http://kocher.es/graficos-highcharts/graph-noaamo.php?mes=2016-08)
es decir, añadimos al final de la dirección: ?mes=yyyy-mm
Link de descarga:
http://kocher.es/graficos-highcharts/graph-noaamo.txt (http://kocher.es/graficos-highcharts/graph-noaamo.txt)
Lo único que debemos editar (línea 80), es la dirección relativa de este script, respecto a la carpeta que contiene los archivos NOAA:
$download02 = "../NOAA-reports/NOAA$fecha_noaa.TXT";
-
Esto quiere decir que se pueden realizar desde cualquier NOAA????, incluso con los de cumulus o cualquier otro programa???
-
Yo creo que si.
Si me pones un "link" a uno de tus archivos NOAA, intento adaptarte el "script"
-
El grafico del mes actual lo genero sin problemas:
http://www.meteoxabia.com/estacions/port/graficatempmes.php
Pero los graficos de meses históricos no lo tengo claro, he probado y no me sale, supongo que tendrán que estar todos los meses dentro del servidor para poder aparecer, yo no los tengo todos pero he subido algun mes historico y he hecho la prueba y no me sale, me vuelve a salir el mes en curso y hasta el 30 con las lineas bajo del todo, como este:
http://www.meteoxabia.com/estacions/port/graficatempmes.php?mes=2012-11
Algo me dejo por el camino
-
El grafico del mes actual lo genero sin problemas:
http://www.meteoxabia.com/estacions/port/graficatempmes.php
Pero los graficos de meses históricos no lo tengo claro, he probado y no me sale, supongo que tendrán que estar todos los meses dentro del servidor para poder aparecer, yo no los tengo todos.....
Si, debes tener todos los archivos (completos) en la carpeta
-
Si, debes tener todos los archivos (completos) en la carpeta
[/quote]
y como deben estar nombrados, porque he probado con uno: NOAA2012-11.TXT y no me aparece, en el código hay que modificar algo supongo, pero no se el que.
-
Te recomiendo bajar de nuevo el script e instalarlo:
http://kocher.es/graficos-highcharts/graph-noaamo.txt (http://kocher.es/graficos-highcharts/graph-noaamo.txt)
-
Te recomiendo bajar de nuevo el script e instalarlo:
http://kocher.es/graficos-highcharts/graph-noaamo.txt (http://kocher.es/graficos-highcharts/graph-noaamo.txt)
Arreglado, gracias!
-
lo que son graficas para la lluvia anual desde el noaayr.txt se puede hacer?
-
Una pregunta, que ando probando nuevas graficas con el noayr.txt pero no se las columnas como se enumeran aquí ya que la lluvia està separada más abajo así como tambien el viento.
Hay modo?
Gracias
Efectivamente, esas columnas están separadas, es un problema ... No se que contestarte :D
-
Aprovecho tu experiencia, kocher, para pedirte ayuda ;)
Ya tengo a punto algunos gráficos (por ejemplo aquí (http://www.meteontinyent.es/santana/graph48h_hum.php) y aquí (http://www.meteontinyent.es/santana/graph48h_vent.php)) pero no sé como configurarlo para hacer uno igual con la dirección del viento, de manera que en el eje vertical aparezca la dirección (N, NE, etc.).
También me pregunto si sería posible construir un gráfico tipo "reloj" o "gauge" (como los que utilizo ahora aquí (http://meteontinyent.es/)) con Hihgcharts tomando como valor actual de la variable representada el de la última fila del fichero download02.txt, por ejemplo, o a partir de otra plantilla de texto personalizada con los datos.
Gracias y un saludo.
-
Aprovecho tu experiencia, kocher, para pedirte ayuda ;)
Ya tengo a punto algunos gráficos (por ejemplo aquí (http://www.meteontinyent.es/santana/graph48h_hum.php) y aquí (http://www.meteontinyent.es/santana/graph48h_vent.php)) pero no sé como configurarlo para hacer uno igual con la dirección del viento, de manera que en el eje vertical aparezca la dirección (N, NE, etc.).
También me pregunto si sería posible construir un gráfico tipo "reloj" o "gauge" (como los que utilizo ahora aquí (http://meteontinyent.es/)) con Hihgcharts tomando como valor actual de la variable representada el de la última fila del fichero download02.txt, por ejemplo, o a partir de otra plantilla de texto personalizada con los datos.
Tampoco consigo configurar el meteograma con Highcharts.
Gracias y un saludo.
-
Hola buenas tardes. Viendo este post he conseguido crear dos gráficos por separado. Temperatura y lluvia mensual. Hay alguna manera de que me salgan los dos graficos por separado en la misma página? Muchas gracias
-
Hola buenas tardes. Viendo este post he conseguido crear dos gráficos por separado. Temperatura y lluvia mensual. Hay alguna manera de que me salgan los dos gráficos por separado en la misma página? Muchas gracias
Bunas noches amigo
No acabo de entender del todo tu pregunta.
Al parecer tienes los dos gráficos ya creados de forma individual.
Parece ser que te gustaría verlos en la misma página, pero, lógicamente separados, ¿no?; sería mucho más fácil, para mí, conocer la dirección web de ambos gráficos; una vez que las tenga te explico como hacerlo de forma sencilla.
Veremos
-
http://www.meteohuertaderey.es/pruebamesnoaa.php
http://www.meteohuertaderey.es/prueballuviames.php
Esos son los dos archivos. Los descargue de tu cajón. Gracias por tu trabajo
-
De acuerdo
Aunque no funcionan las direcciones que has indicado, vamos a poner algún ejemplo:
Página PHP (la llamaremos "graficos-mes.php" sin comillas) con contenido mixto html y PHP:
<!DOCTYPE html>
<html lang="es">
<head>
<title>Ejemplo de include con php</title>
</head>
<body>
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
<h1>Bienvenidos a mi página</h1>
<p>Gráficos del mes:</p>
<?php include "pruebamesnoaa.php"; ?>
<?php include "prueballuviames.php"; ?>
</body>
</html>
Esta página (graficos-mes.php)funciona igual de bien con este sencillo código:
<!DOCTYPE html>
<html lang="es">
<head>
<title>Ejemplo de include con php</title>
</head>
<body>
<?php include "pruebamesnoaa.php"; ?>
<?php include "prueballuviames.php"; ?>
</body>
</html>
Y también funciona así siempre que el fichero se llame "loquesea.php":
<?php
include "pruebamesnoaa.php";
include "prueballuviames.php";
?>
-
http://www.meteohuertaderey.es/Graficos/pruebamesnoaa.php
http://www.meteohuertaderey.es/Graficos/pruebamesnoaa.php
Perdon me había comido la subcarpeta. Ahora lo intento poner y gracias por responder
-
http://www.meteohuertaderey.es/Graficos/pruebamesnoaa.php
http://www.meteohuertaderey.es/Graficos/pruebamesnoaa.php
Perdon me había comido la subcarpeta. Ahora lo intento poner y gracias por responder
Entonces, comienza a probar; si instalas el archivo "graficos-mes.php" en la raíz de tu servidor, debe encontrar a los archivos mencionados; para ello escribimos en el archivo:
<?php
include "./Graficos/pruebamesnoaa.php";
include "./Graficos/prueballuviames.php";
?>
Mediante ./Graficos
le estamos indicando a PHP que "baje hasta la carpeta "Graficos" y "encuentre el archivo deseado.
Si instalaras el archivo "graficos-mes.php" en el la carpeta "Graficos", sería suficiente con escribir:
<?php
include "pruebamesnoaa.php";
include "prueballuviames.php";
?>
-
muchas gracias. he copiado tu codigo y creado el archivo graficos-mes.php pero solo me saca un grafico. el segundo en la lista. el de la lluvia. puedo estar haciendo algo mal?
-
Buenas noches Meteohuertaderey
Para estar seguros de lo que ha pasado, ¿puedes poner la dirección del archivo "graficos-mes.php"?
¿en que carpeta está situado el archivo
-
http://www.meteohuertaderey.es/Graficos/graficos-mes.php
Muchas gracias por contestar.
-
Para investigar tu página
http://www.meteohuertaderey.es/Graficos/graficos-mes.php
Lo más rápido es presionar el botón derecho del ratón (por lo menos, funciona así en el navegador Google Chrome) y pinchar en "Inspeccionar"; al momento, verás algo muy curioso: aparece una línea en color rojo que indica un error.
En el archivo "pruebamesnoaa.php" hay una línea incorrecta (faltan unas comillas).
La diferencia entre los dos gráficos, es bien visible aquí:
<script type="text/javascript" src="http://code.highcharts.com/themes/sand-signika.js"></script>
<script type="text/javascript" src="http://code.highcharts.com/themes/grid-light.js></script>
La segunda línea es incorrecta, ya que la dirección debe ir encerrada entre comillas:
<script type="text/javascript" src="http://code.highcharts.com/themes/grid-light.js"></script>
-
Ok muchas gracias. En cuanto pueda lo reviso. Lo único que en individual si lo veo
-
Ese "error" (prácticamente siempre debido a una manipulación inadecuada o a un copy/paste desafortunado).
La falta de esas comillas, genera un final de página con errores:
<script type="text/javascript" src="http://code.highcharts.com/themes/grid-light.js></script>
</body>
</html>
A partir de esta enseñanza, debemos recordar a editar con muchísimo cuidado (sobre todo al principio de nuestra experiencia) cualquier archivo; de manera especial aquellos *.php, ya que la ausencia o error en una comilla simple, doble, coma, punto y coma ...... inutilizan el funcionamiento del archivo; pero, también es cierto que así se aprende je je).
-
Pues nada, no consigo que me salgan los 2 graficos. Siempre se ve solo el segundo en la línea once include.. he probado a poner incluso los gráficos recién descargados no se que más puedo estar haciendo mal. Gracias por tu información
-
Saludos amigo
je je je, te aseguro que vas a poder ver los dos archivos en una página.
Resulta que ya tenemos 3 gráficos .. Estamos formando un auténtico pisto je je
Vamos a intentar poner un orden lógico:
Consejos que nos van a ayudar:
1) Vamos a crear en una carpeta llamada "http://www.meteohuertaderey.es/graficos-noaa-mes/", una serie de gráficos individuales, cuyos nombres sean suficientemente explicativos; por ejemplo:
temperatura.php
Su direción sería: http://www.meteohuertaderey.es/graficos-noaa-mes/temperatura.php (http://www.meteohuertaderey.es/graficos-noaa-mes/temperatura.php)
lluvia.php
Su nueva dirección, sería: http://www.meteohuertaderey.es/graficos-noaa-mes/lluvia.php (http://www.meteohuertaderey.es/graficos-noaa-mes/lluvia.php)
Ya estamos indicando que los obtenemos de los archivos noaaa mensuales.
Aquí puedes añadir todos los gráficos mensuales que tu quieras (sin mezclarlos con los archivos de 48 horas).
Una vez que consigas esto, posteriormente los vamos a incluir en una sola página que es lo que tu querías.
¡ Animo !
-
Pues nada, no consigo que me salgan los 2 graficos. Siempre se ve solo el segundo en la línea once include.. he probado a poner incluso los gráficos recién descargados no se que más puedo estar haciendo mal. Gracias por tu información
Saludos
Pues debo admitir que tienes toda la razón; solo sale el segundo gráfico. Siento los disgustos causados (así aprendemos todos jjj).
A grandes males, grandes remedios; vamos a conseguir lo que queremos de otra manera: vamos a utilizar los <iframe></iframe>
Hay quien opina que no es una solución muy elegante, pero .. funciona.
Creamos un nuevo archivo con extensión html o php (es indiferente porque no va a contener código php.
Aquí veremos el código para insertar (incluir) el número de gráficos que queramos:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Vista de dos gráficos dinámicos NOAA</title>
</head>
<body style="background-color:black;">
<iframe src="./gráfico_1.php" width="100%" height="570" scrolling="no" style="border:0px solid black;"></iframe>
<iframe src="./gráfico_2.php" width="100%" height="570" scrolling="no" style="border:0px solid black;"></iframe>
</body>
</html>
Lógicamente debes adecuar los nombres y las direcciónes de "./gráfico_1.php" y "./gráfico_2.php"
Ahora si los vamos a ver (comprobado) en la misma página que hemos creado.
Ya nos contarás
Saludos
-
Muchas gracias a ver si los chicos me dejan tiempo de probarlo. El otro día me salieron los 2. Unos de ellos no cuadraba y al actualizar se fue. Eata tarde lo intento y te comento. Pero gracias de antemano por contestar
-
Pues ahora si que lo he conseguido. Muchísimas gracias Por tu paciencia. Ahora a crearlos. De todo un poco. apla3 apla3 apla3
-
Ummmm chicos solo por aportar una posible solución.... ya veo que con gran ingenio kocher lo ha resuelto con iframes :)
Creo que los tiros de que solo dibuje uno puede ser porque los contenedores o div sobre los que se dibuja el gráfico tengan el mismo id (identificativo).
En todos se llama <div id="container1"></div>
El id es único para cada elemento de una página. Si le ponemos a highcharts que dibujemos los gráficos en el mismo id aunque hayan 3 divs con ese id solo dibujará en uno.
La solución pasaría por llamar a cada contenedor de diferente manera (container1, container2, container3 por ejemplo) y cambiar dentro del código de highcharts su nombre por el de ese nuevo id en renderTo:
Llamar a los 3 gráficos en la misma página con include de PHP significa cargar 3 veces jQuery y 3 veces highcharts. Se podría dejar solo esa cabecera de llamada a los scripts en el primero y quitarlas en los siguientes.
De todas formas con los iframes funcionará porque son como cajas aisladas donde el id del div no será tenido en cuenta por los demás elementos de la página y los tres estarán aislados.
-
Ummmm chicos solo por aportar una posible solución.... ya veo que con gran ingenio kocher lo ha resuelto con iframes :)
Creo que los tiros de que solo dibuje uno puede ser porque los contenedores o div sobre los que se dibuja el gráfico tengan el mismo id (identificativo).
En todos se llama <div id="container1"></div>
El id es único para cada elemento de una página. Si le ponemos a highcharts que dibujemos los gráficos en el mismo id aunque hayan 3 divs con ese id solo dibujará en uno.
La solución pasaría por llamar a cada contenedor de diferente manera (container1, container2, container3 por ejemplo) y cambiar dentro del código de highcharts su nombre por el de ese nuevo id en renderTo:
Llamar a los 3 gráficos en la misma página con include de PHP significa cargar 3 veces jQuery y 3 veces highcharts. Se podría dejar solo esa cabecera de llamada a los scripts en el primero y quitarlas en los siguientes.
De todas formas con los iframes funcionará porque son como cajas aisladas donde el id del div no será tenido en cuenta por los demás elementos de la página y los tres estarán aislados.
Buenos días jmviper
También estoy totalmente de acuerdo con lo que tu indicas.
Efectivamente, la clave está en haber llamado 2 veces al mismo container.
Podía haber estados meses mirándolo sin haber caído en la cuenta.
Lo mismo pasa con la carga de las librerías ...
Pero, al final, me quedo con la solución de los iframes, ya que nos permite no modificar ninguno de los 2 archivos empleados, evitando así otros problemas futuros derivados del posible olvido de la eliminación de esas librerías; tienen ese pequeño inconveniente de cargar varias veces las mismas librerías.
Ahora he recordado la posibilidad también interesante de integrar en un mismo gráfico varias variables en gráficos aparentemente separados pero sincronizados en el eje X. Este que os presento (hecho con Highstock) , tan solo tiene un container aunque aparente disponer de varios:
http://kocher.es/graficos-highcharts/total2.php (http://kocher.es/graficos-highcharts/total2.php)
Lo bueno de todo esto, es que nos permite abrir una fuente de ideas muy interesantes y prácticas para todo el que quiera aprender.
Como siempre, jmviper, has estado certero y acertado. Muchísimas gracias.
Saludos a todos
-
Hola kocher de nuevo
Sí sí.... creo que tu solución es la más acertada al caso.... con el iframe es más fácil para alguien que quiera simplemente insertar varios de esos gráficos sin tener que estar editándolos y que puedan haber fallos.
En cuanto a lo de varios ejes en el mismo gráfico.... igual que los que se han puesto recientemente en cada estación en meteoclimatic *-* *-*
Saludos kocher ;)
-
Hola buenas noches. Desde hace unos días que tuve que cambiar de versión de php en mi servidor los gráficos me salen en blanco. A que puede ser debido. Debería de modificar algo en el código?. Gracias maestros
-
He estado mirando y he visto que los ejemplo de kocher también salen en blanco.
-
Buenas tardes. Hago un último llamamiento a ver si alguien me dice una solución gracias. Yo no consigo saber el porqué no se me ve el gráfico. Sale entero en blanco
-
Buenas tardes. Finalmente he conseguido hacer funcionar de nuevo los gráficos. Vi que kocher tiene en un cajón todos los gráficos. Como se hace eso. Gracias