package TP3;

import java.io.File;
import java.io.FileWriter;

/**
 * La classe TP3.CreerFichier permet la création des fichiers .dat, .gnuplot ainsi que les graphes
 */
public class CreerFichier
{

	/**
	 * Creer le fichier .dat
	 * @param nomFichier nom du fichier
	 * @param tab données qui seront écrit dans le fichier
	 */
	public static void creerFichierData(String nomFichier, double[] tab, String dossier)
	{
		try {
			File f = new File("./data/" + dossier + "/" + nomFichier + ".dat");
			FileWriter writer = new FileWriter(f);

			for (int i = 0; i < tab.length; i++)
				writer.write((i+1) + " " + tab[i]*100 + "\n");

			writer.close();

		} catch (Exception e) {System.out.println(e);}
	}

	/**
	 * Créer le fichier .gnuplot ainsi que le graphe
	 * @param fichierResultat fichier .dat
	 * @param nomFichier le nom du fichier
	 */
	public static void creerGraphe(String fichierResultat, String nomFichier, String dossier)
	{

		try {
			File f = new File("./gnuplot/"+dossier +"/"+ nomFichier+ ".gnuplot");
			FileWriter writer = new FileWriter(f);
			writer.write(
					"set terminal png\n" +
							"set encoding utf8\n"    +
							"set title \""+nomFichier +"\"\n" +
							"set xlabel 'jour'\n" +
							"set ylabel \"% d'infectés\"\n" +
							"set yrange[0:100]\n"+
							"set output './graphes/"+dossier+"/"+nomFichier+".png'\n" +
							"plot   \"./data/" +dossier+"/"+fichierResultat+".dat\" notitle with linesp lt 1 pt 1 lc 1"

			);
			writer.close();
		} catch (Exception e) {
			System.out.println(e);
		}

		try {
			Runtime commandPrompt = Runtime.getRuntime();
			commandPrompt.exec("gnuplot ./gnuplot/"+dossier+"/"+nomFichier+".gnuplot");
		} catch (Exception e) {
			System.out.println(e);
		}
	}
}
