{"id":1512,"date":"2016-12-02T22:06:00","date_gmt":"2016-12-03T04:06:00","guid":{"rendered":"http:\/\/linuxitos.com\/main\/graficas-con-highcharts-php-y-postgresql\/"},"modified":"2016-12-02T22:06:00","modified_gmt":"2016-12-03T04:06:00","slug":"graficas-con-highcharts-php-y-postgresql","status":"publish","type":"post","link":"https:\/\/linuxitos.com\/main\/graficas-con-highcharts-php-y-postgresql\/","title":{"rendered":"Gr\u00e1ficas con Highcharts, PHP y PostgreSQL"},"content":{"rendered":"<div dir=\"ltr\" style=\"text-align: left;\">\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/3.bp.blogspot.com\/-NgMOGAXUTN4\/WEIjAurYwQI\/AAAAAAAAEGQ\/CvfoCylog5gfKK0SrVIYPwa13in1OkbpgCLcB\/s1600\/Captura%2Bde%2Bpantalla%2Bde%2B2016-12-02%2B19-40-24.png\" style=\"margin-left: 1em; margin-right: 1em;\"><img decoding=\"async\" border=\"0\" src=\"https:\/\/3.bp.blogspot.com\/-NgMOGAXUTN4\/WEIjAurYwQI\/AAAAAAAAEGQ\/CvfoCylog5gfKK0SrVIYPwa13in1OkbpgCLcB\/s1600\/Captura%2Bde%2Bpantalla%2Bde%2B2016-12-02%2B19-40-24.png\" \/><\/a><\/div>\n<p><\/p>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\">Hace poco en el trabajo ten\u00edamos que hacer uso de gr\u00e1ficas, para representar las incidencias de una determinada categor\u00eda durante cada mes, por ejemplo cu\u00e1ntas veces se vendieron ciertos productos de una categor\u00eda, ya sea de &nbsp;Ferreter\u00eda, Electr\u00f3nicos o Cocina, etc.<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\"><br \/><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\">Hacer esas gr\u00e1ficas no es un problema complicado, el detalle estaba en que no ten\u00edamos tiempo para crear todas esas funciones desde cero, as\u00ed que mi compa\u00f1ero y yo, buscamos algunas librer\u00edas, frameworks, etc., para ahorrarnos dicha labor de crear todo desde cero.<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\"><br \/><\/span><\/div>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: center;\">\n<h2><b><span style=\"font-size: x-large;\"><span style=\"font-size: x-small;\">Y encontramos&nbsp;<\/span><span style=\"text-align: left;\"><span style=\"font-size: x-small;\">Highcharts<\/span><\/span><\/span><\/b><\/h2>\n<\/div>\n<\/div>\n<div style=\"text-align: justify;\"><span style=\"text-align: left;\"><span style=\"font-size: large;\"><br \/><\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"text-align: left;\"><span style=\"font-size: large;\">Highcharts es una biblioteca de gr\u00e1ficos escrita en JavaScript puro, que ofrece una manera f\u00e1cil de agregar gr\u00e1ficos interactivos a su sitio web o aplicaci\u00f3n web. Highcharts actualmente soporta l\u00ednea, spline, area, areaspline, columna, bar, pastel, scatter, angular gauges, arearange, areasplinerange, columnrange, bubble, box plot, barras de error, embudo, cascada y tipos de cartas polares y un sin fin de posibilidades a partir de \u00e9stas mismas.<\/span><\/span><\/div>\n<div style=\"text-align: right;\"><span style=\"text-align: left;\"><span style=\"font-size: large;\"><a href=\"http:\/\/www.highcharts.com\/products\/highcharts\">Fuente.<\/a><\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"text-align: left;\"><span style=\"font-size: large;\"><br \/><\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"text-align: left;\"><span style=\"font-size: large;\">Lo mejor de esto, es que es compatible completamente con el desarrollo en el que estaba trabajando.<\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"text-align: left;\"><span style=\"font-size: large;\"><br \/><\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"text-align: left;\"><span style=\"font-size: large;\">El cual es:<\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"text-align: left;\"><span style=\"font-size: large;\">&#8211; Base de datos: PostgreSQL 9.5.5<\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"text-align: left;\"><span style=\"font-size: large;\">&#8211; PHP 7.0.13<\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"text-align: left;\"><span style=\"font-size: large;\">&#8211; Servidor CentOS.<\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"text-align: left;\"><span style=\"font-size: large;\">&#8211; XAMPP<\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div style=\"text-align: left;\"><span style=\"font-size: large;\">Algunas de sus caracter\u00edsticas m\u00e1s llamativas son:<\/span><\/div>\n<div style=\"text-align: left;\"><span style=\"font-size: large;\">&#8211; Est\u00e1 hecho con puro javascript<\/span><br \/><span style=\"font-size: large;\">&#8211; Se puede usar en modo offline: descargarlas de aqu\u00ed.&nbsp;<a href=\"https:\/\/code.highcharts.com\/\">https:\/\/code.highcharts.com<\/a><\/span><\/div>\n<div style=\"text-align: left;\"><span style=\"font-size: large;\">&#8211; Compatible con android, ios y todos los navegadores que soporten js.<\/span><\/div>\n<div style=\"text-align: left;\"><span style=\"font-size: large;\">&#8211; Para versi\u00f3n personal u organizaci\u00f3n sin fines de lucro, es posible usar sin necesidad de pagar licencia.<\/span><\/div>\n<div style=\"text-align: left;\"><span style=\"font-size: large;\">&#8211; Es abierto a modificaciones propias<\/span><\/div>\n<div style=\"text-align: left;\"><span style=\"font-size: large;\">&#8211; Como ya mencion\u00e9 en su descripci\u00f3n, soporta m\u00faltiples tipos de gr\u00e1ficos. aqu\u00ed pueden ver algunos&nbsp;<a href=\"http:\/\/www.highcharts.com\/demo\">http:\/\/www.highcharts.com\/demo<\/a><\/span><\/div>\n<div style=\"text-align: left;\"><span style=\"font-size: large; text-align: justify;\">&#8211; La verdad, la configuraci\u00f3n y la sintaxis son simples, incluso se puede isnertar c\u00f3digo de php dentro de la configuraci\u00f3n.<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Es din\u00e1mico, se puede agregar y quitar series desde c\u00f3digo en php<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Se puede graficar m\u00faltiples series sobre una misma gr\u00e1fica, como haciendo comparaciones.<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Hay tooltips para cada punto, y se pueden personalizar.<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Es f\u00e1cil exportar el gr\u00e1fico en formato pdf, png, jpg o svg.<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Tambi\u00e9n es posible realizar un zoom de cierta \u00e1rea de la gr\u00e1fica.<\/span><br \/><span style=\"font-size: large; text-align: justify;\"><br \/><\/span><\/p>\n<div style=\"text-align: center;\">\n<h2><span style=\"font-size: x-large; text-align: justify;\"><b>Ejemplo:<\/b><\/span><\/h2>\n<\/div>\n<p><span style=\"font-size: large; text-align: justify;\"><br \/><\/span><span style=\"font-size: large; text-align: justify;\">Y como yo s\u00e9 que nadie quiere copiar y pegar c\u00f3digo, aqu\u00ed les dejo el siguiente ejemplo.<\/span><\/p>\n<div style=\"text-align: center;\"><span style=\"font-size: large; text-align: justify;\"><a href=\"https:\/\/mega.nz\/#!dM5URBjQ!pqpl7LEUk64epjO6__U9PaU_oFTfrRujFFZulkynQ1E\">Descargar&#8230;<\/a><\/span><\/div>\n<p><span style=\"font-size: large; text-align: justify;\"><br \/><\/span><\/p>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\">La descarga incluye \u00fanicamente el c\u00f3digo de la p\u00e1gina en php, la instalaci\u00f3n del servidor de php, y base de datos se da por entendido. Este ejemplo fue realizado en PostgreSQL, pero no hay mucha complicaci\u00f3n en migrarlo a MySQL, para aquellos que no manejen PostgreSQL.<\/span><\/div>\n<p><span style=\"font-size: large; text-align: justify;\"><br \/><\/span><span style=\"font-size: large; text-align: justify;\">Descripci\u00f3n:<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Servidor PHP: Xampp 7.0.13<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Versi\u00f3n PHP 7.<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Servidor base de datos: PostgreSQL 9.5.5<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Incluye script creaci\u00f3n BD.<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Incluye datos para la tabla.<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Ejemplos para gr\u00e1ficas de barra, pastel y lineal.<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Incluye archivos de Highcjarts modo offline.<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211; Probado en Fedora 25 x86_64bits.<\/span><br \/><span style=\"font-size: large; text-align: justify;\"><br \/><\/span><br \/><span style=\"font-size: large; text-align: justify;\">Uso: Se da por hecho que ya tienen instalado y configurado XAMPP y PostgreSQL 9.2 en adelante.<\/span><br \/><span style=\"font-size: large; text-align: justify;\"><br \/><\/span><span style=\"font-size: large; text-align: justify;\">1.- Crear la bd en postgresql, va un script.<\/span><br \/><span style=\"font-size: large; text-align: justify;\">2.- Cargar los datos, hay un script en la descarga o agregar los que ustedes deseen.<\/span><br \/><span style=\"font-size: large; text-align: justify;\">3.- Mover la carpeta estadistica a htdocs de xampp<\/span><br \/><span style=\"font-size: large; text-align: justify;\">4.- Editar el archivo conexion.php en los par\u00e1metros de conexi\u00f3n con postgresql (contrase\u00f1a, usuario, puerto)<\/span><br \/><span style=\"font-size: large; text-align: justify;\">5.- Abrir desde el navegador http:\/\/localhost\/estadistica\/ &nbsp;y si todo lo configuraron correctamente, no debe haber problemas.<\/span><br \/><span style=\"font-size: large; text-align: justify;\"><br \/><\/span><span style=\"font-size: large; text-align: justify;\">Toda la documentaci\u00f3n, ejemplos y soluci\u00f3n a errores, pueden consultar:<\/span><br \/><span style=\"font-size: large; text-align: justify;\">&#8211;&nbsp;<a href=\"http:\/\/www.highcharts.com\/\">http:\/\/www.highcharts.com<\/a><\/span><br \/><span style=\"font-size: large;\">&#8211;&nbsp;<a href=\"http:\/\/www.highcharts.com\/demo\">http:\/\/www.highcharts.com\/demo<\/a><\/span><br \/><span style=\"font-size: large; text-align: justify;\"><br \/><\/span><\/p>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\">La idea del ejemplo:<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\"><br \/><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\">Es una tienda que tiene 3 categor\u00edas, Electr\u00f3nicos, Ferreter\u00eda y Cocina, entonces, hay que graficar las ventas anuales, determinar el mes en &nbsp;el que se vende m\u00e1s mediante una gr\u00e1fica de pastel y graficar en barra las ventas mensuales, con opci\u00f3n de desglosarlas para ver en qu\u00e9 producto se vende m\u00e1s por mes.<\/span><\/div>\n<\/div>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/3.bp.blogspot.com\/-8TMpmepk6L4\/WEIjA87JJ0I\/AAAAAAAAEGU\/naMiDYTThdQGzSCPwYJ93bbrY9Q2Hm-2ACLcB\/s1600\/Captura%2Bde%2Bpantalla%2Bde%2B2016-12-02%2B19-40-27.png\" style=\"margin-left: 1em; margin-right: 1em;\"><img decoding=\"async\" border=\"0\" src=\"https:\/\/3.bp.blogspot.com\/-8TMpmepk6L4\/WEIjA87JJ0I\/AAAAAAAAEGU\/naMiDYTThdQGzSCPwYJ93bbrY9Q2Hm-2ACLcB\/s1600\/Captura%2Bde%2Bpantalla%2Bde%2B2016-12-02%2B19-40-27.png\" \/><\/a><\/div>\n<p><span style=\"font-size: large;\">La funci\u00f3n que m\u00e1s me gust\u00f3 de esta librer\u00eda, es la que se muestra y se describe por s\u00ed sola en la siguiente imagen.<\/span><br \/><span style=\"font-size: large;\"><br \/><\/span><\/p>\n<div style=\"clear: both; text-align: center;\"><\/div>\n<div style=\"clear: both; text-align: center;\"><\/div>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/1.bp.blogspot.com\/-8XJ86wfyCE8\/WEI6UmqsYUI\/AAAAAAAAEG4\/775ba96PwAUtH_wKGtyvN061ArP-xQUUQCLcB\/s1600\/Peek%2B2016-12-02%2B21-19.gif\" style=\"margin-left: 1em; margin-right: 1em;\"><img decoding=\"async\" border=\"0\" src=\"https:\/\/1.bp.blogspot.com\/-8XJ86wfyCE8\/WEI6UmqsYUI\/AAAAAAAAEG4\/775ba96PwAUtH_wKGtyvN061ArP-xQUUQCLcB\/s1600\/Peek%2B2016-12-02%2B21-19.gif\" \/><\/a><\/div>\n<p><span style=\"font-size: large;\"><br \/><\/span><span style=\"font-size: large;\"><br \/><\/span><\/p>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\">Y bueno, la decisi\u00f3n de utilizarla o no en sus proyectos personales, es suya, es una excelente librer\u00eda desde mi punto de vista, ya que me permiti\u00f3 obtener los resultados deseados, y me evit\u00f3 realizar funciones desde cero.<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\"><br \/><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\">Puede que haya librer\u00edas m\u00e1s potentes, o como quieran llamarle, pero como dije, a mi me servi\u00f3 de mucho y realmente es muy simple de utilizar.<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\"><br \/><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"font-size: large;\"><br \/><\/span><\/div>\n<blockquote style=\"text-align: justify;\"><p><span style=\"font-size: large;\">Como ya mencion\u00e9, en este proyecto, hemos trabajado dos compa\u00f1eros, de tal modo que agradezco a Valdivia, por comenzar la b\u00fasqueda de informaci\u00f3n y utilizaci\u00f3n de la misma.<\/span><\/p><\/blockquote>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hace poco en el trabajo ten\u00edamos que hacer uso de gr\u00e1ficas, para representar las incidencias de una determinada categor\u00eda durante cada mes, por ejemplo cu\u00e1ntas veces se vendieron ciertos productos de una categor\u00eda, ya sea de &nbsp;Ferreter\u00eda, Electr\u00f3nicos o Cocina, etc. Hacer esas gr\u00e1ficas no es un problema complicado, el detalle estaba en que no [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,283,284,282,67,122],"tags":[],"class_list":["post-1512","post","type-post","status-publish","format-standard","hentry","category-fedora","category-graficar-en-php","category-graficas","category-highcharts","category-php","category-postgresql"],"_links":{"self":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/1512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/comments?post=1512"}],"version-history":[{"count":0,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/1512\/revisions"}],"wp:attachment":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media?parent=1512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/categories?post=1512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/tags?post=1512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}