Example usage for org.jfree.chart JFreeChart setTitle

List of usage examples for org.jfree.chart JFreeChart setTitle

Introduction

In this page you can find the example usage for org.jfree.chart JFreeChart setTitle.

Prototype

public void setTitle(String text) 

Source Link

Document

Sets the chart title and sends a ChartChangeEvent to all registered listeners.

Usage

From source file:v800_trainer.XYGraphik.java

public JPanel StartGraphik(JCicloTronic JTronicHandle) {

    int num = 0;//from   w  ww  .  jav  a2  s . c o m
    int num2 = 0, num0, num02; //fr Streckendifferenz
    int selected;
    int single;
    int i;
    int j;
    int Stunden;
    int Minuten;
    int Sekunden;
    int Tagadder = 0;
    int Linecount = 0;
    Second xTime[];
    double xWerte[];
    double xWerte2[];//fr Streckendifferenz
    double y1Werte[];
    double y2Werte[];
    double y3Werte[];
    double y4Werte[];
    double y5Werte[];
    double y6Werte[];
    double y7Werte[];
    double y8Werte[];
    double y8bWerte[];
    double y9Werte[];
    double y10Werte[];

    JFreeChart chart;

    Rectangle2D.Double Legendenpunkt = new Rectangle2D.Double();

    selected = JTronicHandle.Auswahl_Graphik.getSelectedIndex();

    if (selected == 0) {
        single = 1;
    } else {
        single = 0;
    }

    //Defaultchart erstellen
    if (JTronicHandle.Graphik_Radio_Strecke.isSelected()) {

        XYSeries dataset = new XYSeries("");

        dataset.add(1, 1);
        XYSeriesCollection dataset1 = new XYSeriesCollection(dataset);

        chart = ChartFactory.createXYLineChart("Multiple Axis Demo 1", "Strecke", "", dataset1,
                PlotOrientation.HORIZONTAL, true, true, false);

    } else {
        TimeSeries dataset = new TimeSeries("");

        dataset.add(new Second(1, 1, 1, 1, 1, 1900), 1);

        TimeSeriesCollection dataset1 = new TimeSeriesCollection(dataset);

        chart = ChartFactory.createTimeSeriesChart("Multiple Axis Demo 1", "Zeit", "", dataset1, true, true,
                false);
    }
    ;
    //Tooltips fr Zeitachse einstellen
    //    XYToolTipGenerator ToolTip = new StandardXYToolTipGenerator("{0}: ({1}, {2})",
    //            (DateFormat) new SimpleDateFormat("kk:mm.ss"),
    //            NumberFormat.getInstance());

    //  chart.setAntiAlias(true);
    chart.setNotify(false);

    if (single == 0) {
        chart.setTitle(JTronicHandle.Statistikhandle.TourData[JTronicHandle.Auswahl_Graphik
                .getSelectedIndex()].DataProperty.getProperty("Titel", ""));
        chart.addSubtitle(new TextTitle(JTronicHandle.Auswahl_Graphik.getItemAt(selected).toString()));
    } else {
        chart.setTitle("Mehrfache Daten");
    }

    chart.setBackgroundPaint(Color.white);

    JTronicHandle.applyChartTheme(chart);

    XYPlot plot = chart.getXYPlot();

    plot.setOrientation(PlotOrientation.VERTICAL);
    plot.setBackgroundPaint(Color.lightGray);
    plot.setDomainGridlinePaint(Color.white);
    plot.setRangeGridlinePaint(Color.white);

    plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0));

    plot.setDomainCrosshairVisible(true);
    plot.setRangeCrosshairVisible(true);
    plot.setRangeCrosshairLockedOnData(false);
    plot.setDomainCrosshairLockedOnData(false);

    int Anzahl_Kurven = Integer.parseInt(JTronicHandle.Properties.getProperty("AnzahlKurven", "5")) + 1;

    if (Anzahl_Kurven > JTronicHandle.Auswahl_Graphik.getItemCount()) {
        Anzahl_Kurven = JTronicHandle.Auswahl_Graphik.getItemCount();
    }

    try {

        for (j = 0; j < (Anzahl_Kurven - 2) * single + 1; j++) {
            if (single == 1) {
                selected = j + 1;
            }
            num = JTronicHandle.Statistikhandle.TourData[selected].Datenpunkte;
            num2 = JTronicHandle.Statistikhandle.TourData[selected].ZahlStreckenPunkte;
            num0 = JTronicHandle.Statistikhandle.TourData[1].ZahlStreckenPunkte;
            num02 = JTronicHandle.Statistikhandle.TourData[1].Datenpunkte;
            xTime = new Second[num];
            xWerte = new double[num];
            y1Werte = new double[num];
            y2Werte = new double[num];
            y3Werte = new double[num];
            y4Werte = new double[num];
            y5Werte = new double[num];
            y6Werte = new double[num];
            y7Werte = new double[num];
            y8Werte = new double[num];
            y8bWerte = new double[num];
            xWerte2 = new double[num2];
            y9Werte = new double[num2];
            y10Werte = new double[num];

            for (i = 0; i < num; i++) {
                xWerte[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].Strecke_gesZeit[i];
                y1Werte[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].Geschw_gesZeit[i];
                y2Werte[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].Hoehe_gesZeit[i];
                y3Werte[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].Hf_gesZeit[i];
                y4Werte[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].Temperatur_gesZeit[i];
                y5Werte[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].Steigp_gesZeit[i];
                y6Werte[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].Steigm_gesZeit[i];
                y7Werte[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].av_Geschw_gesZeit[i];
                y8Werte[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].Cadence_gesZeit[i];
                y8bWerte[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].Schritt_lnge[i];
            }

            if (JTronicHandle.Graphik_check_Abstand.isSelected() && single == 1 && j != 0) {
                int p = 0;
                if (JTronicHandle.Graphik_Radio_Strecke.isSelected()) {
                    for (i = 0; i < num2; i++) {
                        xWerte2[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].Streckenskala[i];
                        if (i < num0) {
                            y9Werte[i] = (double) JTronicHandle.Statistikhandle.TourData[selected].ZeitberStrecke[i]
                                    - JTronicHandle.Statistikhandle.TourData[1].ZeitberStrecke[i];
                        } else {
                            y9Werte[i] = y9Werte[i - 1];
                        }
                    }
                } else {
                    for (i = 0; i < num; i++) {
                        p = 0;
                        while (p < num02 - 1
                                && (JTronicHandle.Statistikhandle.TourData[selected].gesZeit[i] >= JTronicHandle.Statistikhandle.TourData[1].gesZeit[p])) {
                            p++;
                        }
                        ;
                        if (i < num02) {
                            y10Werte[i] = (double) (JTronicHandle.Statistikhandle.TourData[selected].Strecke_gesZeit[i]
                                    - JTronicHandle.Statistikhandle.TourData[1].Strecke_gesZeit[p]) * 100.0;
                        } else {
                            y10Werte[i] = y10Werte[i - 1];
                        }
                    }
                }
            }

            //Zeitbasis laden
            for (i = 0; i < num; i++) {
                Tagadder = 0;
                Stunden = (int) (JTronicHandle.Statistikhandle.TourData[selected].gesZeit[i] / 3600);
                Minuten = (int) ((JTronicHandle.Statistikhandle.TourData[selected].gesZeit[i] - Stunden * 3600)
                        / 60);
                Sekunden = (int) (JTronicHandle.Statistikhandle.TourData[selected].gesZeit[i] - Stunden * 3600
                        - Minuten * 60);
                if (single == 0) {
                    Minuten = Minuten + JTronicHandle.Statistikhandle.TourData[selected].StartMinuten;
                    if (Minuten >= 60) {
                        Minuten -= 60;
                        Stunden++;
                    }
                    ;
                    Stunden = Stunden + JTronicHandle.Statistikhandle.TourData[selected].StartStunden;
                }
                ;
                while (Stunden >= 24) {
                    Stunden -= 24;
                    Tagadder += 1;
                }
                ;

                try {
                    if (single == 0) {
                        xTime[i] = new Second(Sekunden, Minuten, Stunden,
                                JTronicHandle.Statistikhandle.TourData[selected].Tag + Tagadder,
                                JTronicHandle.Statistikhandle.TourData[selected].Monat,
                                JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    } else {
                        xTime[i] = new Second(Sekunden, Minuten, Stunden, 1 + Tagadder, 1, 1900);
                    }

                } catch (Exception e) {
                    JOptionPane.showMessageDialog(null, "StartGraphik\n" + e + "Zeile " + i + " Zeitfehler "
                            + Stunden + " " + Minuten + " " + Sekunden, "Achtung!", JOptionPane.ERROR_MESSAGE);
                }
            }

            if (JTronicHandle.Graphik_Radio_Strecke.isSelected()) { //Streckenachse

                if (JTronicHandle.Graphik_check_Geschwindigkeit.isSelected()) {

                    XYSeries dataset = new XYSeries(
                            "Geschwindigkeit [km/h] " + JTronicHandle.Statistikhandle.TourData[selected].Tag
                                    + "." + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xWerte[i], y1Werte[i]);
                    }

                    XYSeriesCollection dataset1 = new XYSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer();
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //          renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Hhe.isSelected()) {

                    XYSeries dataset = new XYSeries(
                            "Hhe [m] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);

                    for (i = 0; i < num; i++) {
                        dataset.add(xWerte[i], y2Werte[i]);
                    }

                    XYSeriesCollection dataset1 = new XYSeriesCollection(dataset);
                    NumberAxis axis2 = new NumberAxis("Hhe [m]");
                    axis2.setLabelFont(plot.getRangeAxis().getLabelFont());
                    axis2.setTickLabelFont(plot.getRangeAxis().getTickLabelFont());
                    axis2.setAutoRangeIncludesZero(true);
                    axis2.setLabelPaint(Color.BLACK);
                    axis2.setTickLabelPaint(Color.BLACK);
                    axis2.setAxisLinePaint(Color.BLACK);
                    plot.setRangeAxis(1, axis2);
                    plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 1);
                    XYItemRenderer renderer = new StandardXYItemRenderer();
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //               renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }
                ;

                if (JTronicHandle.Graphik_check_HF.isSelected()) {

                    XYSeries dataset = new XYSeries(
                            "Herzfrequenz [b/min] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xWerte[i], y3Werte[i]);
                    }

                    XYSeriesCollection dataset1 = new XYSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer();
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //            renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Temp.isSelected()) {

                    XYSeries dataset = new XYSeries(
                            "Temperatur [C] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xWerte[i], y4Werte[i]);
                    }

                    XYSeriesCollection dataset1 = new XYSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer();
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //            renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Steigung_p.isSelected()) {

                    XYSeries dataset = new XYSeries(
                            "Steigung [%] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xWerte[i], y5Werte[i]);
                    }

                    XYSeriesCollection dataset1 = new XYSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer();
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //          renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Steigung_m.isSelected()) {

                    XYSeries dataset = new XYSeries(
                            "Steigung [m/min] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xWerte[i], y6Werte[i]);
                    }

                    XYSeriesCollection dataset1 = new XYSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer();
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //              renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_av_Geschw.isSelected()) {

                    XYSeries dataset = new XYSeries(
                            "av Geschw. [km/h] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xWerte[i], y7Werte[i]);
                    }

                    XYSeriesCollection dataset1 = new XYSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer();
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //              renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Cadence.isSelected()) {

                    XYSeries dataset = new XYSeries(
                            "Cadence [n/min]  " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xWerte[i], y8Werte[i]);
                    }

                    XYSeriesCollection dataset1 = new XYSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer();
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //               renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Schrittlnge.isSelected()) {

                    XYSeries dataset = new XYSeries(
                            "Schrittlnge [cm]  " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xWerte[i], y8bWerte[i]);
                    }

                    XYSeriesCollection dataset1 = new XYSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer();
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //                  renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Abstand.isSelected() && single == 1 && j != 0) {

                    XYSeries dataset = new XYSeries(
                            "Zeitabstand [s] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr + " - "
                                    + JTronicHandle.Statistikhandle.TourData[1].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[1].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[1].Jahr);
                    for (i = 0; i < num2; i++) {
                        dataset.add(xWerte2[i], y9Werte[i]);
                    }

                    XYSeriesCollection dataset1 = new XYSeriesCollection(dataset);

                    NumberAxis axis3 = new NumberAxis("Abstand");
                    axis3.setLabelFont(plot.getRangeAxis().getLabelFont());
                    axis3.setTickLabelFont(plot.getRangeAxis().getTickLabelFont());

                    axis3.setAutoRangeIncludesZero(true);
                    axis3.setLabelPaint(Color.BLACK);
                    axis3.setTickLabelPaint(Color.BLACK);
                    plot.setRangeAxis(2, axis3);
                    plot.setRangeAxisLocation(2, AxisLocation.BOTTOM_OR_RIGHT);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 2);
                    XYItemRenderer renderer = new StandardXYItemRenderer();
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //             renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

            } else { //Zeitachse

                if (JTronicHandle.Graphik_check_Geschwindigkeit.isSelected()) {

                    TimeSeries dataset = new TimeSeries(
                            "Geschwindigkeit [km/h] " + JTronicHandle.Statistikhandle.TourData[selected].Tag
                                    + "." + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xTime[i], y1Werte[i]);
                    }

                    TimeSeriesCollection dataset1 = new TimeSeriesCollection(dataset);

                    ValueAxis axis = plot.getRangeAxis();

                    axis.setLabelPaint(Color.BLACK);
                    axis.setTickLabelPaint(Color.BLACK);
                    plot.setRangeAxis(0, axis);
                    plot.setRangeAxisLocation(0, AxisLocation.BOTTOM_OR_LEFT);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);

                    XYItemRenderer renderer = new StandardXYItemRenderer(2);//, ToolTip);
                    renderer.setSeriesPaint(0, getColour(Linecount));

                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Hhe.isSelected()) {

                    TimeSeries dataset = new TimeSeries(
                            "Hoehe [m] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xTime[i], y2Werte[i]);
                    }

                    TimeSeriesCollection dataset1 = new TimeSeriesCollection(dataset);
                    NumberAxis axis2 = (NumberAxis) plot.getRangeAxis().clone();
                    axis2.setLabel("Hhe [m]");

                    axis2.setAutoRangeIncludesZero(true);

                    axis2.setLabelPaint(Color.BLACK);
                    axis2.setTickLabelPaint(Color.BLACK);
                    axis2.setAxisLinePaint(Color.BLACK);
                    plot.setRangeAxis(1, axis2);
                    plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 1);
                    XYItemRenderer renderer = new StandardXYItemRenderer(2);//, ToolTip);
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //        renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_HF.isSelected()) {

                    TimeSeries dataset = new TimeSeries(
                            "Herzfrequenz [b/min] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xTime[i], y3Werte[i]);
                    }

                    TimeSeriesCollection dataset1 = new TimeSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer(2);//, ToolTip);
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //        renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Temp.isSelected()) {

                    TimeSeries dataset = new TimeSeries(
                            "Temperatur [C] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xTime[i], y4Werte[i]);
                    }

                    TimeSeriesCollection dataset1 = new TimeSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer(2);//, ToolTip);
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //          renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Steigung_p.isSelected()) {

                    TimeSeries dataset = new TimeSeries("Steigung [%] ");
                    for (i = 0; i < num; i++) {
                        dataset.add(xTime[i], y5Werte[i]);
                    }

                    TimeSeriesCollection dataset1 = new TimeSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer(2);//, ToolTip);
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //           renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Steigung_m.isSelected()) {

                    TimeSeries dataset = new TimeSeries(
                            "Steigung [m/min] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xTime[i], y6Werte[i]);
                    }

                    TimeSeriesCollection dataset1 = new TimeSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer(2);//, ToolTip);
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //           renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_av_Geschw.isSelected()) {

                    TimeSeries dataset = new TimeSeries(
                            "av Geschw. [km/h] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xTime[i], y7Werte[i]);
                    }

                    TimeSeriesCollection dataset1 = new TimeSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer(2);//, ToolTip);
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //              renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Cadence.isSelected()) {

                    TimeSeries dataset = new TimeSeries(
                            "Cadence [n/min] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xTime[i], y8Werte[i]);
                    }

                    TimeSeriesCollection dataset1 = new TimeSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer(2);//, ToolTip);
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //          renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Schrittlnge.isSelected()) {

                    TimeSeries dataset = new TimeSeries(
                            "Schrittlnge [cm] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xTime[i], y8bWerte[i]);
                    }

                    TimeSeriesCollection dataset1 = new TimeSeriesCollection(dataset);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 0);
                    XYItemRenderer renderer = new StandardXYItemRenderer(2);//, ToolTip);
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //                renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

                if (JTronicHandle.Graphik_check_Abstand.isSelected() && single == 1 && j != 0) {

                    TimeSeries dataset = new TimeSeries(
                            "Streckenabstand [m] " + JTronicHandle.Statistikhandle.TourData[selected].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[selected].Jahr + " - "
                                    + JTronicHandle.Statistikhandle.TourData[1].Tag + "."
                                    + JTronicHandle.Statistikhandle.TourData[1].Monat + "."
                                    + JTronicHandle.Statistikhandle.TourData[1].Jahr);
                    for (i = 0; i < num; i++) {
                        dataset.add(xTime[i], y10Werte[i]);
                    }

                    TimeSeriesCollection dataset1 = new TimeSeriesCollection(dataset);

                    ValueAxis axis3 = (ValueAxis) plot.getRangeAxis().clone();

                    axis3.setLabel("Abstand");
                    axis3.setLabelPaint(Color.BLACK);
                    axis3.setTickLabelPaint(Color.BLACK);
                    plot.setRangeAxis(2, axis3);
                    plot.setRangeAxisLocation(2, AxisLocation.BOTTOM_OR_RIGHT);

                    plot.setDataset(Linecount, dataset1);
                    plot.mapDatasetToRangeAxis(Linecount, 2);
                    XYItemRenderer renderer = new StandardXYItemRenderer(2);//, ToolTip);
                    renderer.setSeriesPaint(0, getColour(Linecount));
                    //            renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
                    plot.setRenderer(Linecount, renderer);

                    Linecount++;
                }

            }

        }
        chart.setNotify(true);
        ChartPanel Panel = new ChartPanel(chart);

        return Panel;

    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "StartGraphik\nSchluss_Fehler: " + e, "Achtung!",
                JOptionPane.ERROR_MESSAGE);
    }

    return new ChartPanel(chart);
}

From source file:it.eng.spagobi.engines.chart.bo.charttypes.XYCharts.SimpleBlockChart.java

/**
 * Creates a chart for the specified dataset.
 * //w ww.java 2s . c  om
 * @param dataset  the dataset.
 * 
 * @return A chart instance.
 */
public JFreeChart createChart(DatasetMap datasets) {
    logger.debug("IN");
    XYZDataset dataset = (XYZDataset) datasets.getDatasets().get("1");

    JFreeChart chart = null;

    NumberAxis xAxis = new NumberAxis(xLabel);
    xAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    if (xLowerBound != null && xUpperBound != null) {
        xAxis.setLowerBound(xLowerBound);
        xAxis.setUpperBound(xUpperBound);
    } else {
        xAxis.setAutoRange(true);
    }
    xAxis.setAxisLinePaint(Color.white);
    xAxis.setTickMarkPaint(Color.white);

    if (addLabelsStyle != null && addLabelsStyle.getFont() != null) {
        xAxis.setLabelFont(addLabelsStyle.getFont());
        xAxis.setLabelPaint(addLabelsStyle.getColor());
    }

    NumberAxis yAxis = new NumberAxis(yLabel);
    yAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    if (yLowerBound != null && yUpperBound != null) {
        yAxis.setLowerBound(yLowerBound);
        yAxis.setUpperBound(yUpperBound);
    } else
        yAxis.setAutoRange(true);

    yAxis.setAxisLinePaint(Color.white);
    yAxis.setTickMarkPaint(Color.white);

    if (addLabelsStyle != null && addLabelsStyle.getFont() != null) {
        yAxis.setLabelFont(addLabelsStyle.getFont());
        yAxis.setLabelPaint(addLabelsStyle.getColor());
    }

    XYBlockRenderer renderer = new XYBlockRenderer();

    PaintScale paintScale = null;

    if (grayPaintScale) {
        paintScale = new GrayPaintScale(minScaleValue, maxScaleValue);
    } else {
        if (scaleLowerBound != null && scaleUpperBound != null) {
            paintScale = new LookupPaintScale(scaleLowerBound, scaleUpperBound, Color.gray);
        } else {
            paintScale = new LookupPaintScale(minScaleValue, maxScaleValue, Color.gray);
        }
        for (int i = 0; i < zRangeArray.length; i++) {
            ZRange zRange = zRangeArray[i];
            ((LookupPaintScale) paintScale).add(zRange.getValue().doubleValue(), zRange.getColor());

        }
    }

    renderer.setPaintScale(paintScale);

    XYPlot plot = new XYPlot(dataset, xAxis, yAxis, renderer);
    plot.setBackgroundPaint(Color.lightGray);
    plot.setDomainGridlinesVisible(false);
    plot.setRangeGridlinePaint(Color.white);
    plot.setAxisOffset(new RectangleInsets(5, 5, 5, 5));
    plot.setForegroundAlpha(0.66f);

    chart = new JFreeChart(plot);
    TextTitle title = setStyleTitle(name, styleTitle);
    chart.setTitle(title);
    if (subName != null && !subName.equals("")) {
        TextTitle subTitle = setStyleTitle(subName, styleSubTitle);
        chart.addSubtitle(subTitle);
    }

    chart.removeLegend();

    NumberAxis scaleAxis = new NumberAxis(zLabel);
    scaleAxis.setAxisLinePaint(Color.white);
    scaleAxis.setTickMarkPaint(Color.white);
    scaleAxis.setTickLabelFont(new Font("Dialog", Font.PLAIN, 7));
    if (scaleLowerBound != null && scaleUpperBound != null) {
        scaleAxis.setLowerBound(scaleLowerBound);
        scaleAxis.setUpperBound(scaleUpperBound);
    } else
        scaleAxis.setAutoRange(true);

    if (addLabelsStyle != null && addLabelsStyle.getFont() != null) {
        scaleAxis.setLabelFont(addLabelsStyle.getFont());
        scaleAxis.setLabelPaint(addLabelsStyle.getColor());
    }

    if (blockHeight != null && blockWidth != null) {
        renderer.setBlockWidth(blockWidth.doubleValue());
        renderer.setBlockHeight(blockHeight.doubleValue());
    }

    PaintScaleLegend legend = new PaintScaleLegend(paintScale, scaleAxis);
    legend.setAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
    legend.setAxisOffset(5.0);
    legend.setMargin(new RectangleInsets(5, 5, 5, 5));
    legend.setFrame(new BlockBorder(Color.black));
    legend.setPadding(new RectangleInsets(10, 10, 10, 10));
    legend.setStripWidth(10);
    legend.setPosition(RectangleEdge.RIGHT);
    legend.setBackgroundPaint(color);

    chart.addSubtitle(legend);

    //      chart.setBackgroundPaint(new Color(180, 180, 250));   
    chart.setBackgroundPaint(color);

    logger.debug("OUT");
    return chart;
}

From source file:lu.lippmann.cdb.weka.SilhouetteUtil.java

/**
 * /*from w  ww .  j av  a  2s .  c o  m*/
 * @param sils
 * @return
 */
public static JPanel buildSilhouettePanel(final Instances ds, final WekaClusteringResult result) {

    final Map<Integer, List<Double>> sils = computeSilhouette(ds, result);

    DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    final JFreeChart chart = ChartFactory.createBarChart("Silhouette", "Category", "Value", dataset,
            PlotOrientation.HORIZONTAL, true, true, false);

    int nbClass = sils.keySet().size();

    int id = 0;
    double minValue = 0;

    int counter[][] = new int[nbClass][4];
    for (int i = 0; i < nbClass; i++) {

        final double[] tree = ArrayUtils.toPrimitive(sils.get(i).toArray(new Double[0]));

        for (double val : tree) {
            if (val > 0.75) {
                dataset.addValue(val, "Cluster " + i + " ++", "" + id);
                counter[i][0]++;
            } else if (val > 0.50) {
                dataset.addValue(val, "Cluster " + i + " +", "" + id);
                counter[i][1]++;
            } else if (val > 0.25) {
                dataset.addValue(val, "Cluster " + i + " =", "" + id);
                counter[i][2]++;
            } else {
                dataset.addValue(val, "Cluster " + i + " -", "" + id);
                counter[i][3]++;
            }
            if (val < minValue) {
                minValue = val;
            }
            id++;
        }

    }

    final CategoryPlot categoryplot = (CategoryPlot) chart.getPlot();
    categoryplot.setBackgroundPaint(Color.WHITE);
    categoryplot.getDomainAxis().setVisible(false);
    categoryplot.setDomainGridlinesVisible(false);
    categoryplot.setRangeGridlinesVisible(false);
    categoryplot.getRangeAxis().setRange(minValue, 1.0);

    //Add line markers
    ValueMarker target = new ValueMarker(0.75);
    target.setPaint(Color.BLACK);
    target.setLabel("  ++");
    target.setLabelAnchor(RectangleAnchor.TOP_LEFT);
    target.setLabelTextAnchor(TextAnchor.TOP_LEFT);
    categoryplot.addRangeMarker(target);

    target = new ValueMarker(0.5);
    target.setPaint(Color.BLACK);
    target.setLabel("  +");
    target.setLabelAnchor(RectangleAnchor.TOP_LEFT);
    target.setLabelTextAnchor(TextAnchor.TOP_LEFT);
    categoryplot.addRangeMarker(target);

    target = new ValueMarker(0.25);
    target.setPaint(Color.BLACK);
    target.setLabel("  =");
    target.setLabelAnchor(RectangleAnchor.TOP_LEFT);
    target.setLabelTextAnchor(TextAnchor.TOP_LEFT);
    categoryplot.addRangeMarker(target);

    target = new ValueMarker(0);
    target.setPaint(Color.BLACK);
    target.setLabel("  -");
    target.setLabelAnchor(RectangleAnchor.TOP_LEFT);
    target.setLabelTextAnchor(TextAnchor.TOP_LEFT);
    categoryplot.addRangeMarker(target);

    //Remove visual effects on bar
    final BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();
    barrenderer.setBarPainter(new StandardBarPainter());

    //set bar colors
    int p = 0;
    final int max = ColorHelper.COLORBREWER_SEQUENTIAL_PALETTES.size();

    for (int i = 0; i < nbClass; i++) {
        final Color[] color = new ArrayList<Color[]>(ColorHelper.COLORBREWER_SEQUENTIAL_PALETTES.values())
                .get((max - i) % max);
        final int nbColors = color.length;
        for (int k = 0; k < counter[i].length; k++) {
            if (counter[i][k] > 0)
                barrenderer.setSeriesPaint(p++, color[(nbColors - k - 3) % nbColors]);
        }
    }

    //remove blank line between bars
    barrenderer.setItemMargin(-dataset.getRowCount());

    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setMouseWheelEnabled(true);
    chartPanel.setPreferredSize(new Dimension(1200, 900));
    chartPanel.setBorder(new TitledBorder("Silhouette plot"));
    chartPanel.setBackground(Color.WHITE);
    chart.setTitle("");
    return chartPanel;

}

From source file:it.eng.spagobi.engines.chart.bo.charttypes.barcharts.StackedBar.java

/**
 * Inherited by IChart./*from  w ww.j a  va2  s  .com*/
 * 
 * @param chartTitle the chart title
 * @param dataset the dataset
 * 
 * @return the j free chart
 */

public JFreeChart createChart(DatasetMap datasets) {

    logger.debug("IN");
    CategoryDataset dataset = (CategoryDataset) datasets.getDatasets().get("1");

    logger.debug("Taken Dataset");

    logger.debug("Get plot orientaton");
    PlotOrientation plotOrientation = PlotOrientation.VERTICAL;
    if (horizontalView) {
        plotOrientation = PlotOrientation.HORIZONTAL;
    }

    logger.debug("Call Chart Creation");
    JFreeChart chart = ChartFactory.createStackedBarChart(name, // chart title
            categoryLabel, // domain axis label
            valueLabel, // range axis label
            dataset, // data
            plotOrientation, // the plot orientation
            false, // legend
            true, // tooltips
            false // urls
    );
    logger.debug("Chart Created");

    chart.setBackgroundPaint(Color.white);
    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setBackgroundPaint(color);
    plot.setRangeGridlinePaint(Color.white);
    plot.setDomainGridlinePaint(Color.white);
    plot.setDomainGridlinesVisible(true);

    logger.debug("set renderer");
    StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer();
    renderer.setDrawBarOutline(false);
    renderer.setBaseItemLabelsVisible(true);

    if (percentageValue)
        renderer.setBaseItemLabelGenerator(
                new StandardCategoryItemLabelGenerator("{2}", new DecimalFormat("#,##.#%")));
    else if (makePercentage)
        renderer.setRenderAsPercentages(true);

    /*
    else
       renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
     */
    renderer.setToolTipGenerator(new StandardCategoryToolTipGenerator());

    if (maxBarWidth != null) {
        renderer.setMaximumBarWidth(maxBarWidth.doubleValue());
    }

    boolean document_composition = false;
    if (mode.equalsIgnoreCase(SpagoBIConstants.DOCUMENT_COMPOSITION))
        document_composition = true;

    logger.debug("Calling Url Generation");

    MyCategoryUrlGenerator mycatUrl = null;
    if (rootUrl != null) {
        logger.debug("Set MycatUrl");
        mycatUrl = new MyCategoryUrlGenerator(rootUrl);

        mycatUrl.setDocument_composition(document_composition);
        mycatUrl.setCategoryUrlLabel(categoryUrlName);
        mycatUrl.setSerieUrlLabel(serieUrlname);
    }
    if (mycatUrl != null)
        renderer.setItemURLGenerator(mycatUrl);

    logger.debug("Text Title");

    TextTitle title = setStyleTitle(name, styleTitle);
    chart.setTitle(title);
    if (subName != null && !subName.equals("")) {
        TextTitle subTitle = setStyleTitle(subName, styleSubTitle);
        chart.addSubtitle(subTitle);
    }

    logger.debug("Style Labels");

    Color colorSubInvisibleTitle = Color.decode("#FFFFFF");
    StyleLabel styleSubSubTitle = new StyleLabel("Arial", 12, colorSubInvisibleTitle);
    TextTitle subsubTitle = setStyleTitle("", styleSubSubTitle);
    chart.addSubtitle(subsubTitle);
    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...

    // set the background color for the chart...
    chart.setBackgroundPaint(color);

    logger.debug("Axis creation");
    // set the range axis to display integers only...

    NumberFormat nf = NumberFormat.getNumberInstance(locale);

    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    if (makePercentage)
        rangeAxis.setNumberFormatOverride(NumberFormat.getPercentInstance());
    else
        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    if (rangeIntegerValues == true) {
        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    }

    rangeAxis.setLabelFont(new Font(styleXaxesLabels.getFontName(), Font.PLAIN, styleXaxesLabels.getSize()));
    rangeAxis.setLabelPaint(styleXaxesLabels.getColor());
    rangeAxis
            .setTickLabelFont(new Font(styleXaxesLabels.getFontName(), Font.PLAIN, styleXaxesLabels.getSize()));
    rangeAxis.setTickLabelPaint(styleXaxesLabels.getColor());
    rangeAxis.setNumberFormatOverride(nf);

    if (rangeAxisLocation != null) {
        if (rangeAxisLocation.equalsIgnoreCase("BOTTOM_OR_LEFT")) {
            plot.setRangeAxisLocation(0, AxisLocation.BOTTOM_OR_LEFT);
        } else if (rangeAxisLocation.equalsIgnoreCase("BOTTOM_OR_RIGHT")) {
            plot.setRangeAxisLocation(0, AxisLocation.BOTTOM_OR_RIGHT);
        } else if (rangeAxisLocation.equalsIgnoreCase("TOP_OR_RIGHT")) {
            plot.setRangeAxisLocation(0, AxisLocation.TOP_OR_RIGHT);
        } else if (rangeAxisLocation.equalsIgnoreCase("TOP_OR_LEFT")) {
            plot.setRangeAxisLocation(0, AxisLocation.TOP_OR_LEFT);
        }
    }

    renderer.setDrawBarOutline(false);

    logger.debug("Set series color");

    int seriesN = dataset.getRowCount();
    if (orderColorVector != null && orderColorVector.size() > 0) {
        logger.debug("color serie by SERIES_ORDER_COLORS template specification");
        for (int i = 0; i < seriesN; i++) {
            if (orderColorVector.get(i) != null) {
                Color color = orderColorVector.get(i);
                renderer.setSeriesPaint(i, color);
            }
        }
    } else if (colorMap != null) {
        for (int i = 0; i < seriesN; i++) {
            String serieName = (String) dataset.getRowKey(i);

            // if serie has been rinominated I must search with the new name!
            String nameToSearchWith = (seriesLabelsMap != null && seriesLabelsMap.containsKey(serieName))
                    ? seriesLabelsMap.get(serieName).toString()
                    : serieName;

            Color color = (Color) colorMap.get(nameToSearchWith);
            if (color != null) {
                renderer.setSeriesPaint(i, color);
                renderer.setSeriesItemLabelFont(i,
                        new Font(styleValueLabels.getFontName(), Font.PLAIN, styleValueLabels.getSize()));
            }
        }
    }

    logger.debug("If cumulative set series paint " + cumulative);

    if (cumulative) {
        int row = dataset.getRowIndex("CUMULATIVE");
        if (row != -1) {
            if (color != null)
                renderer.setSeriesPaint(row, color);
            else
                renderer.setSeriesPaint(row, Color.WHITE);
        }
    }

    MyStandardCategoryItemLabelGenerator generator = null;
    logger.debug("Are there addition labels " + additionalLabels);
    logger.debug("Are there value labels " + showValueLabels);

    if (showValueLabels) {
        renderer.setBaseItemLabelGenerator(new FilterZeroStandardCategoryItemLabelGenerator());
        renderer.setBaseItemLabelsVisible(true);
        renderer.setBaseItemLabelFont(
                new Font(styleValueLabels.getFontName(), Font.PLAIN, styleValueLabels.getSize()));
        renderer.setBaseItemLabelPaint(styleValueLabels.getColor());

        if (valueLabelsPosition.equalsIgnoreCase("inside")) {
            renderer.setBasePositiveItemLabelPosition(
                    new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.BASELINE_LEFT));
            renderer.setBaseNegativeItemLabelPosition(
                    new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.BASELINE_LEFT));
        } else {
            renderer.setBasePositiveItemLabelPosition(
                    new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.BASELINE_LEFT));
            renderer.setBaseNegativeItemLabelPosition(
                    new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.BASELINE_LEFT));
        }
    } else if (additionalLabels) {

        generator = new MyStandardCategoryItemLabelGenerator(catSerLabels, "{1}", NumberFormat.getInstance());
        logger.debug("generator set");

        double orient = (-Math.PI / 2.0);
        logger.debug("add labels style");
        if (styleValueLabels.getOrientation() != null
                && styleValueLabels.getOrientation().equalsIgnoreCase("horizontal")) {
            orient = 0.0;
        }
        renderer.setBaseItemLabelFont(
                new Font(styleValueLabels.getFontName(), Font.PLAIN, styleValueLabels.getSize()));
        renderer.setBaseItemLabelPaint(styleValueLabels.getColor());

        logger.debug("add labels style set");

        renderer.setBaseItemLabelGenerator(generator);
        renderer.setBaseItemLabelsVisible(true);
        //vertical labels          
        renderer.setBasePositiveItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.CENTER, TextAnchor.CENTER, orient));
        renderer.setBaseNegativeItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.CENTER, TextAnchor.CENTER, orient));

        logger.debug("end of add labels ");

    }

    logger.debug("domain axis");

    CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 4.0));
    domainAxis.setLabelFont(new Font(styleYaxesLabels.getFontName(), Font.PLAIN, styleYaxesLabels.getSize()));
    domainAxis.setLabelPaint(styleYaxesLabels.getColor());
    domainAxis
            .setTickLabelFont(new Font(styleYaxesLabels.getFontName(), Font.PLAIN, styleYaxesLabels.getSize()));
    domainAxis.setTickLabelPaint(styleYaxesLabels.getColor());
    //opacizzazione colori
    if (!cumulative)
        plot.setForegroundAlpha(0.6f);
    if (legend == true)
        drawLegend(chart);

    logger.debug("OUT");
    return chart;

}

From source file:it.eng.spagobi.engines.chart.bo.charttypes.barcharts.StackedBarGroup.java

/**
 * Inherited by IChart./*from   w w w  .java 2 s. com*/
 * 
 * @param chartTitle the chart title
 * @param dataset the dataset
 * 
 * @return the j free chart
 */

public JFreeChart createChart(DatasetMap datasets) {

    logger.debug("IN");
    CategoryDataset dataset = (CategoryDataset) datasets.getDatasets().get("1");

    logger.debug("Get plot orientaton");
    PlotOrientation plotOrientation = PlotOrientation.VERTICAL;
    if (horizontalView) {
        plotOrientation = PlotOrientation.HORIZONTAL;
    }

    JFreeChart chart = ChartFactory.createStackedBarChart(name, // chart title
            categoryLabel, // domain axis label
            valueLabel, // range axis label
            dataset, // data
            plotOrientation, // the plot orientation
            legend, // legend
            true, // tooltips
            false // urls
    );

    chart.setBackgroundPaint(Color.white);
    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setBackgroundPaint(color);
    plot.setRangeGridlinePaint(Color.white);
    plot.setDomainGridlinePaint(Color.white);
    plot.setDomainGridlinesVisible(true);

    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    int numElForGroup = 0;
    for (int idx = 0; idx < numGroups.intValue(); idx++) {
        for (int j = 0; j < numSerieForGroup.intValue(); j++) {
            try {
                String tmpSubCat = (String) subCategoryNames.get(j + idx * numSerieForGroup.intValue());
                map.mapKeyToGroup(tmpSubCat, "G" + (idx + 1));

            } catch (Exception e) {
                logger.error("out of range error in inserting in stacked bar group: continue anayway", e);
            }
        }
    }

    renderer.setSeriesToGroupMap(map);
    renderer.setItemMargin(0.0);
    renderer.setDrawBarOutline(false);
    renderer.setBaseItemLabelsVisible(true);
    if (percentageValue)
        renderer.setBaseItemLabelGenerator(
                new StandardCategoryItemLabelGenerator("{2}", new DecimalFormat("#,##.#%")));
    else
        renderer.setBaseItemLabelGenerator(new FilterZeroStandardCategoryItemLabelGenerator());
    renderer.setToolTipGenerator(new StandardCategoryToolTipGenerator());

    if (maxBarWidth != null) {
        renderer.setMaximumBarWidth(maxBarWidth.doubleValue());
    }

    boolean document_composition = false;
    if (mode.equalsIgnoreCase(SpagoBIConstants.DOCUMENT_COMPOSITION))
        document_composition = true;

    /*
    MyCategoryUrlGenerator mycatUrl=new MyCategoryUrlGenerator(rootUrl);
    mycatUrl.setDocument_composition(document_composition);
    mycatUrl.setCategoryUrlLabel(categoryUrlName);
    mycatUrl.setSerieUrlLabel(serieUrlname);
            
    renderer.setItemURLGenerator(mycatUrl);
     */

    TextTitle title = setStyleTitle(name, styleTitle);
    chart.setTitle(title);
    if (subName != null && !subName.equals("")) {
        TextTitle subTitle = setStyleTitle(subName, styleSubTitle);
        chart.addSubtitle(subTitle);
    }

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...

    // set the background color for the chart...
    chart.setBackgroundPaint(color);

    NumberFormat nf = NumberFormat.getNumberInstance(locale);

    // set the range axis to display integers only...
    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setLabelFont(new Font(styleXaxesLabels.getFontName(), Font.PLAIN, styleXaxesLabels.getSize()));
    rangeAxis.setLabelPaint(styleXaxesLabels.getColor());
    rangeAxis
            .setTickLabelFont(new Font(styleXaxesLabels.getFontName(), Font.PLAIN, styleXaxesLabels.getSize()));
    rangeAxis.setTickLabelPaint(styleXaxesLabels.getColor());
    rangeAxis.setNumberFormatOverride(nf);
    if (rangeIntegerValues == true) {
        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    }
    if (rangeAxisLocation != null) {
        if (rangeAxisLocation.equalsIgnoreCase("BOTTOM_OR_LEFT")) {
            plot.setRangeAxisLocation(0, AxisLocation.BOTTOM_OR_LEFT);
        } else if (rangeAxisLocation.equalsIgnoreCase("BOTTOM_OR_RIGHT")) {
            plot.setRangeAxisLocation(0, AxisLocation.BOTTOM_OR_RIGHT);
        } else if (rangeAxisLocation.equalsIgnoreCase("TOP_OR_RIGHT")) {
            plot.setRangeAxisLocation(0, AxisLocation.TOP_OR_RIGHT);
        } else if (rangeAxisLocation.equalsIgnoreCase("TOP_OR_LEFT")) {
            plot.setRangeAxisLocation(0, AxisLocation.TOP_OR_LEFT);
        }
    }

    int seriesN = dataset.getRowCount();
    int numSerieColored = 0;

    if (orderColorVector != null && orderColorVector.size() > 0) {
        logger.debug("color serie by SERIES_ORDER_COLORS template specification");
        for (int i = 0; i < seriesN; i++) {
            if (orderColorVector.get(i) != null) {
                Color color = orderColorVector.get(i);
                renderer.setSeriesPaint(i, color);
            }
        }
    } else if (colorMap != null) {
        while (numSerieColored < seriesN) {
            for (int i = 1; i <= colorMap.size(); i++) {
                Color color = (Color) colorMap.get("SER" + i);
                Color gradient = new Color(Integer.decode("#FFFFFF").intValue());
                if (gradientMap != null)
                    gradient = (Color) gradientMap.get("SER" + i);

                if (color != null) {
                    Paint p = new GradientPaint(0.0f, 0.0f, color, 0.0f, 0.0f, gradient);

                    //renderer.setSeriesPaint(numSerieColored, color);
                    renderer.setSeriesPaint(numSerieColored, p);
                }
                numSerieColored++;
            }
        }
    }
    renderer.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL));

    MyStandardCategoryItemLabelGenerator generator = null;
    if (additionalLabels) {
        generator = new MyStandardCategoryItemLabelGenerator(catSerLabels, "{1}", NumberFormat.getInstance());

        double orient = (-Math.PI / 2.0);
        if (styleValueLabels.getOrientation().equalsIgnoreCase("horizontal")) {
            orient = 0.0;
        }
        renderer.setBaseItemLabelFont(
                new Font(styleValueLabels.getFontName(), Font.PLAIN, styleValueLabels.getSize()));
        renderer.setBaseItemLabelPaint(styleValueLabels.getColor());

        renderer.setBaseItemLabelGenerator(generator);
        renderer.setBaseItemLabelsVisible(true);
        //vertical labels          
        renderer.setBasePositiveItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER, TextAnchor.CENTER, orient));
        renderer.setBaseNegativeItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER, TextAnchor.CENTER, orient));

        //horizontal labels
        /*
        renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
           ItemLabelAnchor.CENTER, TextAnchor.CENTER));
        renderer.setBaseNegativeItemLabelPosition(new ItemLabelPosition(
           ItemLabelAnchor.CENTER, TextAnchor.CENTER));
         */

    }

    SubCategoryAxis domainAxis = new SubCategoryAxis(categoryLabel + " / " + subCategoryLabel);
    String subCatLabel = "";
    for (int j = 1; j <= numGroups.intValue(); j++) {
        if (subCatLabelsMap != null)
            subCatLabel = (String) subCatLabelsMap.get("CAT" + j);
        else
            subCatLabel = subCategoryLabel;

        domainAxis.addSubCategory(subCatLabel);
        domainAxis
                .setLabelFont(new Font(styleYaxesLabels.getFontName(), Font.PLAIN, styleYaxesLabels.getSize()));
        domainAxis.setLabelPaint(styleYaxesLabels.getColor());
        domainAxis.setTickLabelFont(
                new Font(styleYaxesLabels.getFontName(), Font.PLAIN, styleYaxesLabels.getSize()));
        domainAxis.setTickLabelPaint(styleYaxesLabels.getColor());
    }
    plot.setDomainAxis(domainAxis);
    plot.setRenderer(renderer);

    /*
    domainAxis.setCategoryLabelPositions(
    CategoryLabelPositions.createUpRotationLabelPositions(
          Math.PI / 6.0));
     */
    if (legend == true)
        drawLegend(chart);
    logger.debug("OUT");
    return chart;

}

From source file:net.sf.fspdfs.chartthemes.simple.SimpleChartTheme.java

protected void setChartTitle(JFreeChart jfreeChart) {
    TitleSettings titleSettings = getTitleSettings();
    Boolean showTitle = titleSettings.getShowTitle();
    if (showTitle == null || showTitle.booleanValue()) {
        TextTitle title = jfreeChart.getTitle();

        if (title != null) {
            Paint forePaint = getChart().getOwnTitleColor();
            if (forePaint == null && titleSettings.getForegroundPaint() != null) {
                forePaint = titleSettings.getForegroundPaint().getPaint();
            }//from  w  w  w.j  ava 2  s  .c  om
            if (forePaint == null) {
                forePaint = getChart().getTitleColor();
            }
            RectangleEdge titleEdge = getEdge(getChart().getTitlePositionValue(),
                    getEdge(titleSettings.getPositionValue(), RectangleEdge.TOP));

            handleTitleSettings(title, titleSettings, getChart().getTitleFont(), forePaint, titleEdge);
        }
    } else {
        jfreeChart.setTitle((TextTitle) null);
    }
}

From source file:it.eng.spagobi.engines.chart.bo.charttypes.piecharts.LinkablePie.java

public JFreeChart createChart(DatasetMap datasets) {
    Dataset dataset = (Dataset) datasets.getDatasets().get("1");

    boolean document_composition = false;
    if (mode.equalsIgnoreCase(SpagoBIConstants.DOCUMENT_COMPOSITION))
        document_composition = true;//from  w  w  w  . ja  v  a 2 s .com

    JFreeChart chart = null;

    if (!threeD) {
        chart = ChartFactory.createPieChart(name, (PieDataset) dataset, // data
                legend, // include legend
                true, false);

        chart.setBackgroundPaint(color);

        TextTitle title = chart.getTitle();
        title.setToolTipText("A title tooltip!");

        PiePlot plot = (PiePlot) chart.getPlot();
        plot.setLabelFont(new Font(defaultLabelsStyle.getFontName(), Font.PLAIN, defaultLabelsStyle.getSize()));
        plot.setCircular(false);
        plot.setLabelGap(0.02);
        plot.setNoDataMessage("No data available");

        if (percentage == false) {
            plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} ({1})"));
        } else {
            plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} ({2})"));
        }

        MyPieUrlGenerator pieUrl = new MyPieUrlGenerator(rootUrl);
        pieUrl.setDocument_composition(document_composition);
        pieUrl.setCategoryUrlLabel(categoryUrlName);
        pieUrl.setDrillDocTitle(drillDocTitle);
        pieUrl.setTarget(target);

        plot.setURLGenerator(pieUrl);

    } else {
        chart = ChartFactory.createPieChart3D(name, (PieDataset) dataset, // data
                true, // include legend
                true, false);

        chart.setBackgroundPaint(color);

        TextTitle title = chart.getTitle();
        title.setToolTipText("A title tooltip!");

        PiePlot3D plot = (PiePlot3D) chart.getPlot();

        plot.setDarkerSides(true);
        plot.setStartAngle(290);
        plot.setDirection(Rotation.CLOCKWISE);
        plot.setForegroundAlpha(1.0f);
        plot.setDepthFactor(0.2);

        plot.setLabelFont(new Font(defaultLabelsStyle.getFontName(), Font.PLAIN, defaultLabelsStyle.getSize()));
        plot.setCircular(false);
        plot.setLabelGap(0.02);
        plot.setNoDataMessage("No data available");

        //org.jfree.chart.renderer.category.BarRenderer renderer = new org.jfree.chart.renderer.category.AreaRenderer);

        MyPieUrlGenerator pieUrl = new MyPieUrlGenerator(rootUrl);
        pieUrl.setDocument_composition(document_composition);
        pieUrl.setCategoryUrlLabel(categoryUrlName);
        pieUrl.setDrillDocTitle(drillDocTitle);
        pieUrl.setTarget(target);

        plot.setURLGenerator(pieUrl);

        if (percentage == false) {
            plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} ({1})"));
        } else {
            plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} ({2})"));
        }
    }

    TextTitle title = setStyleTitle(name, styleTitle);
    chart.setTitle(title);
    if (subName != null && !subName.equals("")) {
        TextTitle subTitle = setStyleTitle(subName, styleSubTitle);
        chart.addSubtitle(subTitle);
    }

    return chart;

}

From source file:ucar.unidata.idv.flythrough.Flythrough.java

/**
 * _more_/*from  w ww  .  j  a v a 2s. c  o m*/
 *
 * @param pt1 _more_
 *
 * @throws Exception _more_
 */
protected void processReadout(FlythroughPoint pt1) throws Exception {

    Font font = new Font("Dialog", Font.BOLD, 22);
    dials = new ArrayList<JComponent>();
    if ((readoutLabel == null) || (pt1 == null)) {
        return;
    }

    List<ReadoutInfo> samples = new ArrayList<ReadoutInfo>();
    readoutLabel.setText(readout.getReadout(pt1.getEarthLocation(), showReadout, true, samples));

    if (!showReadout) {
        return;
    }

    List comps = new ArrayList();
    for (FlythroughDecorator decorator : decorators) {
        decorator.handleReadout(pt1, samples);
    }

    for (ReadoutInfo info : samples) {
        Real r = info.getReal();
        if (r == null) {
            continue;
        }

        Unit unit = info.getUnit();
        if (unit == null) {
            unit = r.getUnit();
        }
        String name = ucar.visad.Util.cleanTypeName(r.getType());

        String unitSuffix = "";
        if (unit != null) {
            unitSuffix = " [" + unit + "]";
        }

        double v = r.getValue(unit);
        if (v == v) {
            v = Misc.parseNumber(Misc.format(v));
        }

        JLabel label = new JLabel(name.replace("_", " "));

        label.setFont(font);
        DefaultValueDataset dataset = new DefaultValueDataset(new Double(v));
        MeterPlot plot = new MeterPlot(dataset);
        if (info.getRange() != null) {
            Range range = info.getRange();
            plot.setRange(new org.jfree.data.Range(range.getMin(), range.getMax()));
        }
        if (unit != null) {
            plot.setUnits(unit.toString());
        } else {
            plot.setUnits("");
        }
        plot.setDialBackgroundPaint(Color.white);
        plot.setTickLabelsVisible(true);
        plot.setValueFont(font);
        plot.setTickLabelFont(font);
        plot.setTickLabelPaint(Color.darkGray);
        plot.setTickPaint(Color.black);
        plot.setValuePaint(Color.black);

        JFreeChart chart = new JFreeChart("", plot);
        TextTitle title = new TextTitle(" " + label.getText() + " ", font);
        title.setBackgroundPaint(Color.gray);
        title.setPaint(Color.white);
        chart.setTitle(title);
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(dialDimension);
        chartPanel.setSize(new Dimension(150, 150));
        plot.setBackgroundPaint(new Color(255, 255, 255, 0));
        plot.setBackgroundImageAlpha(0.0f);
        chart.setBackgroundPaint(new Color(255, 255, 255, 0));
        chartPanel.setBackground(new Color(255, 255, 255, 0));
        comps.add(chartPanel);
        dials.add(chartPanel);
    }

    readoutDisplay.removeAll();
    updateDashboard();

}

From source file:net.sf.jasperreports.chartthemes.simple.SimpleChartTheme.java

protected void setChartTitle(JFreeChart jfreeChart) {
    TitleSettings titleSettings = getTitleSettings();
    Boolean showTitle = titleSettings.getShowTitle();
    if (showTitle == null || showTitle) {
        TextTitle title = jfreeChart.getTitle();

        if (title != null) {
            Paint forePaint = getChart().getOwnTitleColor();
            if (forePaint == null && titleSettings.getForegroundPaint() != null) {
                forePaint = titleSettings.getForegroundPaint().getPaint();
            }//from   w  w  w.  ja  v a2  s  . c  om
            if (forePaint == null) {
                forePaint = getChart().getTitleColor();
            }
            RectangleEdge titleEdge = getEdge(getChart().getTitlePositionValue(),
                    getEdge(titleSettings.getPositionValue(), RectangleEdge.TOP));

            handleTitleSettings(title, titleSettings, getChart().getTitleFont(), forePaint, titleEdge);
        }
    } else {
        jfreeChart.setTitle((TextTitle) null);
    }
}