Cuando es la primera vez que se hace esto es un poco complicado. Aquí les traigo un ejemplo para ir comenzando con esto:
/*http://umencs.blogspot.mx/2013/05/plotting-creating-graphs-in-c-c.html File Name: GraphPlotting.c*/
/*
* Autor: gXfer
* Nombre del archivo: graficarGnuplotDesdeC.c
* Descripción: Grafica en gnuplot los puntos ordeandos e inicializados
* en los arreglos (valoresX, valoresY)
* 10-octubre-2014*/
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#define NUM_PUNTOS 11
#define NUM_COMANDOS 4
int main(){
// X, Y valores de los puntos a graficar
double valoresX[NUM_PUNTOS] = {0.0, 1.0, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0};
double valoresY[NUM_PUNTOS] = {4.0, 4.0, 0.0, 1.0, 0.0, 1.5, 0.0, 1.0, 0.0, 0.5, 0.0};
register int i=0;
/* se crea y se abre el archivo puntosGraficar.txt en modo escritura
* para almacenar los valores de x y y que están declarados en los arreglos
* valoresX y valoresY*/
FILE * archivoPuntos = fopen("puntosGraficar.txt", "w");
/*Guardar los puntos x,y en el archivo de texto creado y abierto previamente*/
for (i=0;i<NUM_PUNTOS;i+ +){
fprintf(archivoPuntos, "%lf %lf n", valoresX[i], valoresY[i]);
}
/*lista de comandos para ejecutar y configurar la visualización que tendrán
* los puntos en la gráfica con gnuplot*/
char * configGnuplot[] = {"set title "gXfer Graficando puntos - unir con líneas"",
"set ylabel "----grado de membresía--->"",
"set xlabel "----Universo X--->"",
"plot "puntosGraficar.txt" using 1:2 with lines"
};
/*Se crea una archivo de tipo poen, es una tebería IPC que se usa, para
* ejecutar gnuplot y enviarle el archivo a graficar*/
FILE * ventanaGnuplot = popen ("gnuplot -persist", "w");
// Executing gnuplot commands one by one
for (i=0;i<NUM_COMANDOS;i+ +){
fprintf(ventanaGnuplot, "%s n", configGnuplot[i]);
}
fclose(archivoPuntos);
return 0;
}
Si usas geany para compilar y ejecutar tus códigos en C, es necesario hacer las siguientes configuraciones:
Ir a la opción construir y seleccionar de la lista desplegable la opción que dice "Establecer comandos de construcción" como se muestra en la siguiente imagen.
Abrirá una ventana como se muestra en la imagen de abajo, en la opción que dice "Compilar" deben agregar la sintaxis "-lm" sin comillas, lo mismo deben de hacer en la línea de que dice "Construir", agregar "-lm" sin comillas. y listo, le dan en aceptar y pueden compilar como normalmente lo hace.
Para compilar: ir al directorio que ha sido guardado previamente:
gcc -Wall graficarGnuplotDesdeC.c -lm -o graficarGnuplotDesdeC
Para ejecutar el resultado introduce en la línea de comandos:
./graficarGnuplotDesdeC.c
La salida es la siguiente:
Fernando Merino
hace 6 añosSinceramente, eso no lo hice, pero tengo la idea de que si pones en el archivo .dat los puntos en varias columnas, y pertencen a diferentes gráficas, desde gnuplot, puedes investigar para que tome cada columna como diferente valor de x y así graficarlas por separado sobre la misma ventana
Andres martinez
hace 6 añosFernando Merino
hace 6 añosMe gustaría ayudarte, pero no entendí exactamente qué es lo que quieres hacer...?
Dentro de una interfaz? interfaz gráfica? desarrollada en qué? porque podría enviar esta gráfica a una imagen, y de ahí cargar la imagen en tu interfaz, pero no sé qué es lo que deseas hacer exactamente... igual no lo he hecho, pero puedo darte ideas y de ahí basarte para hacerlo.
Oscar Guarnizo
hace 6 añosFernando Merino
hace 7 añosDe nada, es un placer compartir conocimiento.
Armando Sulbaran
hace 7 añosFernando Merino
hace 7 añosBryan Recoder
hace 7 añosMaravilloso! Funciono asombrosamente, no sabes cuanto tuve que buscar hasta llegar a tu post! Casi me arranco los cabellos de que no sabía como usarlo pero gracias a ti ya todo quedo claro!