Existe una excelente herramienta para php que realiza maravillosas gráficas: pChart, sin embargo necesitaba una solución para trabajar con C/C++ y para ello estoy utilizando GDChart, la cual es una librería que nos permite realizar gráficas sencillas.
A continuación un ejemplo de como realizar una gráfica sencilla con lenguaje C/C++ en debian/ubuntu.
apt-get install libgdchart-gd2-xpm-dev libgdchart-gd2-xpm
Crear un archivo ejemplo.c
#include <stdio.h>
#include <gdc.h>
#include <gdchart.h>
#include <gdcpie.h>
main()
{
float a[3][10] = {{10,12,50,30,10,78,12,50,30,10},{12,50,30,10,78,12,50,30,10,45},{50,30,10,78,12,50,30,10,45,6}};
char *t[10] = { "1", "", "", "", "", "", "","","","F"};
unsigned long sc[2] = { 0xFF8080, 0x8080FF };
GDC_BGColor = 0xFFFFFFL; /* backgound color (white) */
GDC_LineColor = 0x000000L; /* line color (black) */
GDC_SetColor = &(sc[0]); /* assign set colors */
GDC_image_type = GDC_PNG;
/* ----- call the lib ----- */
GDC_out_graph( 800, 220, /* short width, height */
stdout, /* FILE* open FILE pointer */
GDC_LINE, /* GDC_CHART_T chart type */
10, /* int number of points per data set */
t, /* char*[] array of X labels */
3, /* int number of data sets */
(float*)a, NULL ); /* float[] data set 1 */
return 0;
}
Luego compilar y aqui viene la parte importante:
gcc ejemplo.c -o ejemplo -lgdc -D HAVE_LIBFREETYPE
Por ultimo ejecutar el archivo y colocarlo en un archivo .png
./ejemplo > salida.png

Esta librería la pienso utilizar momentáneamente, pero trataré de portar pChart a C++.
Nota, estoy trabajando ahora en la parte para leer el archivo csv...
Buenos días, estoy tratando de compilar este ejemplo pero no me deja compilar ya que me salen los siguientes mensajes:
ResponderEliminarg++ -o "pie" ./gdc_pie_samp.o -lgdc -lm
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_ticks' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_hard_grapheight' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_YTitle2Color' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_title_font' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_yaxisfont_size' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_xaxisfont_size' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_ytitle' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_xtitle_ptsize' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_HLC_style' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_xtitle_size' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_xlabel_ctl' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_ylabel_fmt' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_yaxis' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_XLabelColor' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_YTitleColor' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_XTitleColor' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDCPIE_label_font' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_0Shelf' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_SetColor' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_hard_xorig' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDCPIE_title_ptsize' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_annotation' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_HLC_cap_width' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_GridColor' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_stack_type' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_yaxis2' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_annotation_font_size' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_num_scatter_pts' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_xaxis_ptsize' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_ylabel2_fmt' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_requested_ymax' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_PlotColor' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_requested_ymin' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_3d_angle' sin definir
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib/libgdc.so: referencia a `GDC_grid' sin definir
collect2: error: ld returned 1 exit status
make: *** [pie] Error 1
Cual es el error?
Buenas noches, que significa la expresion -D HAVE_LIBFREETYPE? como la configuro en eclipse?
ResponderEliminar