programacion - ¿Cómo creo gráficos en Perl en Windows?
perl pdf (15)
GD y GD :: Graph son probablemente sus mejores apuestas, puede usarlas para crear imágenes que luego puede incorporar a lo que necesite.
¿Cómo uso Perl para crear gráficos?
Estoy ejecutando un trabajo programado que crea informes de texto. Me gustaría mover esto al siguiente paso (para la administración) y también crear algunos gráficos que vayan con esto. ¿Es esto posible / factible? Sería genial si pudiera hacer esto usando Office de alguna forma.
actualización: soluciones voy a investigar en este orden
- Spreadsheet :: WriteExcel (parece que ahora ha cambiado desde la última vez que investigué esto ... espera, esto fue sugerido por el autor del módulo. Genial).
- GD Graph: ahora está disponible para ActivePerl (no fue la última vez que lo busqué)
- SVG
- Los Gráficos abiertos se ven interesantes.
- Chartdirector
Hoja de cálculo :: WriteExcel :: Chart
Es posible que necesite algo como fresa o vainilla Perl para compilar. O ppm podría tener el módulo.
Enlace de tutorial: http://search.cpan.org/dist/Spreadsheet-WriteExcel/charts/charts.pod
Todos los métodos mencionados anteriormente son realmente buenos, pero personalmente me gusta SVG :: TT :: Graph . Me gusta mucho el poder que SVG te brinda para dibujar gráficos realmente bonitos.
Metaprogramación por supuesto! Imprima un script R que crea el gráfico.
Dependiendo de la complejidad de su gráfico, simplemente generar un archivo de comando para Gnuplot -o GraphViz / Dotty , dependiendo del tipo de gráfico al que se refiera- podría ser suficiente.
El módulo de Perl Spreadsheet :: WriteExcel le permite crear libros de Excel que incluyen gráficos.
Primero tiene que crear el tipo de gráfico que desea en Excel y luego extraerlo usando una herramienta llamada chartex que se instala con Spreadsheet :: WriteExcel.
La plantilla de gráfico se puede agregar a un nuevo libro de trabajo y hacer referencia a nuevos datos.
La documentación está aquí y hay varios ejemplos en el directorio de gráficos de la distribución.
Sin embargo, el mecanismo es un poco inflexible y a veces es difícil obtener el resultado exacto que desea.
En el trabajo, hemos utilizado el excelente Chartdirector .
No es gratis, pero es muy barato (quizás 50 dólares más o menos). El costo bien vale la pena, ya que la API y los documentos son excelentes (¡mucho mejor que GD!), Así que ahorraron más de esa cantidad de tiempo.
También hay una versión gratuita, que incluye un pequeño letrero amarillo que anuncia el producto en cada gráfico. Para ser honesto, si se trata de un uso personal, puede hacerlo, ya que en realidad no es muy intrusivo.
Chartdirector está disponible para muchas plataformas (Win, Linux, Solaris, BSD, OSX) y tiene una API para muchos idiomas (Perl, ASP, .NET, Java, PHP, Python, Ruby, C ++).
La salida es fácil a simple vista, como puede ver en su página de ejemplos .
Si está configurado para hacer esto en MS Office, puede usar el módulo Win32 :: OLE para controlar Excel a través de OLE . Tenga en cuenta que esto tiende a funcionar lentamente y puede ser difícil encontrar documentación para la API de Excel. En el lado positivo, te permite hacer casi todo lo que puedes hacer manualmente.
También puede echar un vistazo al módulo CPAN de Google Charts
use Google::Chart;
my $chart = Google::Chart->new(
type => "Bar",
data => [ 1, 2, 3, 4, 5 ]
);
print $chart->as_uri, "/n"; # or simply print $chart, "/n"
$chart->render_to_file( filename => ''filename.png'' );
No funcionará con Office, pero realmente me gusta Chart :: OFC, que creará Open Flash Charts . Muy elegante y fácil de usar.
Perdón por soplar mi propia trompeta, pero puede que le interese echar un vistazo a algunas diapositivas que hice para una breve presentación sobre Graphing With Perl .
Aquí se mencionan algunas de las sugerencias, pero también le da algunos fragmentos de código que puede usar para ayudarlo a aprovechar al máximo lo que está haciendo.
Depende en gran medida qué tipo de gráficos (el aspecto de ellos) y la fuente de datos. He obtenido buenos resultados al utilizar los gráficos YUI y darles algunas versiones del estilo JSON de los datos fuente originales. Por ejemplo, es fácil pasar un gráfico en vivo para obtener valores exactos. Hay muchos ejemplos en las páginas de desarrollador.
Spreadsheet :: WriteExcel le permitirá obtener los datos en Excel y luego escribir ecuaciones de Excel para los gráficos.
PGPlot hace excelentes gráficos. Hay algunos ejemplos aquí . Funciona bien con Perl 5.8.8 pero está roto en 5.10.0
Todavía no lo he probado, pero Chart :: Clicker parece bastante ingenioso.
Creo que utiliza la biblioteca gráfica de El Cairo (alternativa a GD), pero en realidad está construida sobre Graphics :: Primitive, que es un paquete agnóstico de gráficos "interesante".
El autor en cuestión ( GPHAT ) parece estar reuniendo algunas herramientas integradas para producir informes ... http://www.onemogin.com/blog/582-pixels-and-painting-my-recent-cpan-releases
En una nota al margen ... he usado tanto ChartDirector como OFC y ambos son buenos (especialmente si están basados en la web).