Example usage for org.jfree.ui TextAnchor TOP_CENTER

List of usage examples for org.jfree.ui TextAnchor TOP_CENTER

Introduction

In this page you can find the example usage for org.jfree.ui TextAnchor TOP_CENTER.

Prototype

TextAnchor TOP_CENTER

To view the source code for org.jfree.ui TextAnchor TOP_CENTER.

Click Source Link

Document

Top/center.

Usage

From source file:Business.Chart.ChartBP.java

public ChartBP(final String applicationTitle, String chartTitle, HospitalWorkRequest workRequest) {
    super(applicationTitle);
    series6 = new TimeSeries("Blood Pressure");
    this.chartTitle = chartTitle;
    this.workRequest = workRequest;
    final XYDataset dataset1 = createDatasetBP(workRequest);
    final JFreeChart chart1 = createChart1(dataset1);
    final XYPlot plot = chart1.getXYPlot();
    HospitalWorkRequest hos1 = (HospitalWorkRequest) workRequest;
    int age = hos1.getPerson().getAge();
    int a = hos1.getPerson().getAboveBPMarker(age);
    int b = hos1.getPerson().getBelowBPMarker(age);
    ValueMarker valueMarker = new ValueMarker(a);
    valueMarker.setLabel("ALERT");
    valueMarker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker.setPaint(Color.blue);
    ValueMarker valueMarker1 = new ValueMarker(b);
    valueMarker1.setLabel("ALERT");
    valueMarker1.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker1.setPaint(Color.BLUE);
    plot.addRangeMarker(valueMarker);//from w  w w. j av  a  2  s. c  om
    plot.addRangeMarker(valueMarker1);
}

From source file:Business.Chart.ChartHeartRate.java

public ChartHeartRate(final String applicationTitle, String chartTitle, HospitalWorkRequest workRequest) {
    super(applicationTitle);
    series = new TimeSeries("Heart Rate");
    this.workRequest = workRequest;
    this.chartTitle = chartTitle;

    final XYDataset dataset = createDatasetHeartRate(workRequest);
    final JFreeChart chart = createChart(dataset);
    //final XYDataset dataset1 =  createDatasetBloodPressure(workRequest );
    //final JFreeChart chart1 = createChart1( dataset1 );
    final XYPlot plot = chart.getXYPlot();
    HospitalWorkRequest hos1 = (HospitalWorkRequest) workRequest;
    int age = hos1.getPerson().getAge();
    int a = hos1.getPerson().getAboveHeartRateMarker(age);
    int b = hos1.getPerson().getBelowHeartRateMarker(age);
    ValueMarker valueMarker = new ValueMarker(a);
    valueMarker.setLabel("ALERT");
    valueMarker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker.setPaint(Color.blue);
    ValueMarker valueMarker1 = new ValueMarker(b);
    valueMarker1.setLabel("ALERT");
    valueMarker1.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker1.setPaint(Color.BLUE);
    plot.addRangeMarker(valueMarker);/*from   www  .ja  v a  2  s.  c om*/
    plot.addRangeMarker(valueMarker1);
    //ChartFrame frame = new ChartFrame("series chart", chart);
    //      frame.setVisible(true);
    //     frame.setSize(450, 350);
    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(560, 370));
    chartPanel.setMouseZoomable(true, false);
    setContentPane(chartPanel);
    getContentPane().repaint();
}

From source file:Business.Chart.ChartBloodPressure.java

public ChartBloodPressure(final String applicationTitle, String chartTitle, HospitalWorkRequest workRequest) {
    super(applicationTitle);
    series6 = new TimeSeries("Blood Pressure");
    this.workRequest = workRequest;
    this.chartTitle = chartTitle;

    final XYDataset dataset6 = createDatasetBloodPressure(workRequest);
    final JFreeChart chart6 = createChart(dataset6);
    //final XYDataset dataset1 =  createDatasetBloodPressure(workRequest );
    //final JFreeChart chart1 = createChart1( dataset1 );
    final XYPlot plot = chart6.getXYPlot();
    HospitalWorkRequest hos1 = (HospitalWorkRequest) workRequest;
    int age = hos1.getPerson().getAge();
    int a = hos1.getPerson().getAboveBPMarker(age);
    int b = hos1.getPerson().getBelowBPMarker(age);
    ValueMarker valueMarker = new ValueMarker(a);
    valueMarker.setLabel("ALERT");
    valueMarker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker.setPaint(Color.blue);
    ValueMarker valueMarker1 = new ValueMarker(b);
    valueMarker1.setLabel("ALERT");
    valueMarker1.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker1.setPaint(Color.BLUE);
    plot.addRangeMarker(valueMarker);/*w w w  .java 2 s .  c  om*/
    plot.addRangeMarker(valueMarker1);
    //ChartFrame frame = new ChartFrame("series chart", chart);
    //      frame.setVisible(true);
    //     frame.setSize(450, 350);
    final ChartPanel chartPanel6 = new ChartPanel(chart6);
    chartPanel6.setPreferredSize(new java.awt.Dimension(560, 370));
    chartPanel6.setMouseZoomable(true, false);
    setContentPane(chartPanel6);
    getContentPane().repaint();
}

From source file:Business.Chart.Temperature.java

public Temperature(final String applicationTitle, String chartTitle, HospitalWorkRequest workRequest) {
    super(applicationTitle);
    series3 = new TimeSeries("Temperature");
    this.workRequest = workRequest;
    this.chartTitle = chartTitle;

    final XYDataset dataset3 = createDatasetTemperature(workRequest);
    final JFreeChart chart3 = createChart(dataset3);
    final XYPlot plot = chart3.getXYPlot();
    HospitalWorkRequest hos1 = (HospitalWorkRequest) workRequest;
    int age = hos1.getPerson().getAge();
    int a = hos1.getPerson().getAboveTemperatureRateMarker(age);
    int b = hos1.getPerson().getBelowTemperatureRateMarker(age);
    ValueMarker valueMarker = new ValueMarker(a);
    valueMarker.setLabel("ALERT");
    valueMarker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker.setPaint(Color.blue);
    ValueMarker valueMarker1 = new ValueMarker(b);
    valueMarker1.setLabel("ALERT");
    valueMarker1.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker1.setPaint(Color.BLUE);
    plot.addRangeMarker(valueMarker);//from  www . j a  v  a  2 s.  c  om
    plot.addRangeMarker(valueMarker1);
    final ChartPanel chartPanel = new ChartPanel(chart3);
    chartPanel.setPreferredSize(new java.awt.Dimension(560, 370));
    chartPanel.setMouseZoomable(true, false);
    setContentPane(chartPanel);
    getContentPane().repaint();
}

From source file:Business.Chart.ChartRespiratory.java

public ChartRespiratory(final String applicationTitle, String chartTitle, HospitalWorkRequest workRequest) {
    super(applicationTitle);
    repaint();/*from  w ww . java2s.  c o  m*/
    series2 = new TimeSeries("Respiratory Rate");
    this.workRequest = workRequest;
    this.chartTitle = chartTitle;

    final XYDataset dataset2 = createDatasetRespiratoryRate(workRequest);
    final JFreeChart chart2 = createChart(dataset2);
    final XYPlot plot = chart2.getXYPlot();
    HospitalWorkRequest hos1 = (HospitalWorkRequest) workRequest;
    int age = hos1.getPerson().getAge();
    int a = hos1.getPerson().getAboveRespirationRateMarker(age);
    int b = hos1.getPerson().getBelowRespirationRateMarker(age);
    ValueMarker valueMarker = new ValueMarker(a);
    valueMarker.setLabel("ALERT");
    valueMarker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker.setPaint(Color.blue);
    ValueMarker valueMarker1 = new ValueMarker(b);
    valueMarker1.setLabel("ALERT");
    valueMarker1.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker1.setPaint(Color.BLUE);
    plot.addRangeMarker(valueMarker);
    plot.addRangeMarker(valueMarker1);
    final ChartPanel chartPanel = new ChartPanel(chart2);
    chartPanel.setPreferredSize(new java.awt.Dimension(560, 370));
    chartPanel.setMouseZoomable(true, false);
    setContentPane(chartPanel);
    getContentPane().repaint();
}

From source file:inflor.core.plots.LogicleNumberAxis.java

@Override
public List<NumberTick> refreshTicks(Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge) {
    List<NumberTick> ticks = new ArrayList<>();
    double[] suggestedTicks = logicle.getAxisValues();
    if (suggestedTicks[0] >= 0) {
        double tick1Value = logicle.getMinTranformedValue();
        double tick2Value = logicle.transform(Math.abs(logicle.getMinRawValue()));

        String label1 = this.getNumberFormatOverride().format(tick1Value);
        String label2 = this.getNumberFormatOverride().format(tick2Value);

        ticks.add(new NumberTick(tick1Value, label1, TextAnchor.TOP_CENTER, TextAnchor.TOP_CENTER, 0));
        ticks.add(new NumberTick(tick2Value, label2, TextAnchor.TOP_CENTER, TextAnchor.TOP_CENTER, 0));
    }/*from   w  w  w .j a  v  a2  s.  c  o m*/

    for (double value : suggestedTicks) {
        double td = logicle.transform(value);
        double tickDangerRatio = 0;
        if (ticks.size() >= 2) {
            double firstPositiveTick = logicle.inverse(ticks.get(1).getValue());
            tickDangerRatio = value / firstPositiveTick;
        }
        if (tickDangerRatio < 0.5 || tickDangerRatio > 2) {
            String label = this.getNumberFormatOverride().format(td);
            NumberTick tick = new NumberTick(td, label, TextAnchor.TOP_CENTER, TextAnchor.TOP_CENTER, 0);
            ticks.add(tick);
        }
    }
    return ticks;
}

From source file:grafix.graficos.eixos.EixoHorizontalComLabels.java

@Override
public List refreshTicks(Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge) {
    try {/*from   w w  w .  ja  v  a2s  .  co  m*/
        long l1 = this.getMaximumDate().getTime();
        long l2 = this.getMinimumDate().getTime();
        int diasExibidos = (int) ((l1 - l2) / ref);
        if (diasExibidos == diasExibidosAnterior && ticksAnteriores != null) {
            return ticksAnteriores; // otimizacao
        } else {
            List result = new ArrayList();
            int j = 0;
            for (int i = acao.getNumeroRegistros() - 1; i >= 0; i--) {
                int n = (int) (diasExibidos / QUANTIDADE_DATAS);
                if (j++ % n == 0) {
                    result.add(new DateTick(acao.getRegistro(i).getDataCorrida().getStart(),
                            new DateFormatter(new SimpleDateFormat("dd/MM/yy"))
                                    .valueToString(acao.getRegistro(i).getData().getStart()),
                            TextAnchor.TOP_CENTER, TextAnchor.TOP_RIGHT, 0));
                } else {
                    result.add(new DateTick(acao.getRegistro(i).getDataCorrida().getStart(), "",
                            TextAnchor.TOP_CENTER, TextAnchor.TOP_RIGHT, 0));
                }
            }
            ticksAnteriores = result;
            diasExibidosAnterior = diasExibidos;
            return result;
        }
    } catch (Exception e) {
        return new ArrayList();
    }
}

From source file:fr.crnan.videso3d.trajectography.Track2DView.java

public Track2DView(VidesoTrack track) {
    if (track instanceof LPLNTrack) {
        XYSeries dataset = new XYSeries(track.getName());
        List<ValueMarker> markers = new LinkedList<ValueMarker>();
        double distance = 0;
        LPLNTrackPoint last = null;/* w  w  w  .j a  va  2 s .  c om*/
        for (LPLNTrackPoint p : ((LPLNTrack) track).getTrackPoints()) {
            if (last != null) {
                distance += Position.ellipsoidalDistance(last.getPosition(), p.getPosition(),
                        Earth.WGS84_EQUATORIAL_RADIUS, Earth.WGS84_POLAR_RADIUS) / LatLonCautra.NM;
            }
            dataset.add(distance, p.getElevation() / 30.48);
            ValueMarker marker = new ValueMarker(distance);
            marker.setLabel(p.getName());
            marker.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
            marker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
            markers.add(marker);
            last = p;
        }
        JFreeChart chart = ChartFactory.createXYLineChart("Coupe 2D", "NM", "FL",
                new XYSeriesCollection(dataset), PlotOrientation.VERTICAL, false, false, false);
        for (ValueMarker m : markers) {
            chart.getXYPlot().addDomainMarker(m);
        }
        //ajout des secteurs AIP avec des XYPolygonAnnotation
        Collection<Object> secteurs;
        AIPController controller = (AIPController) DatasManager.getController(DatasManager.Type.AIP);
        secteurs = controller.getObjects(AIP.CTL);
        for (int i = 0; i <= 600; i += 10) {
            last = null;
            Secteur3D lastSecteur = null;
            double lastBoundary = 0.0;
            for (LPLNTrackPoint point : ((LPLNTrack) track).getTrackPoints()) {
                Position p = new Position(point.getPosition(), i * 30.48);
                //calcul du secteur contenant le point en cours
                Iterator<Object> iterator = secteurs.iterator();
                boolean contain = false;
                Secteur3D secteur = null;
                while (iterator.hasNext() && !contain) {
                    Secteur3D temp = (Secteur3D) iterator.next();
                    if (temp.contains(p)) {
                        contain = true;
                        secteur = temp;
                    }
                }

                //si premier point, on enregistre simplement le secteur trouv
                if (last == null) {
                    lastSecteur = secteur;
                } else {
                    if (lastSecteur != secteur) {
                        //si le secteur a chang, on dessine le secteur prcdent
                        //sauf si ce dernier n'existait pas
                        if (lastSecteur != null) {
                            //dans ce cas, on calcule le point d'intersection entre le secteur et le segment form par les deux points
                            //lastSecteur != null => last !=null
                            Set<Point2D> intersects = lastSecteur
                                    .getIntersections(new Line2D.Double(last.getLatitude(), last.getLongitude(),
                                            p.getLatitude().degrees, p.getLongitude().degrees), true);
                            if (!intersects.isEmpty()) {
                                Point2D intersect = intersects.iterator().next();
                                distance = Position.ellipsoidalDistance(
                                        new LatLonCautra(intersect.getX(), intersect.getY()),
                                        last.getPosition(), Earth.WGS84_EQUATORIAL_RADIUS,
                                        Earth.WGS84_POLAR_RADIUS) / LatLonCautra.NM;
                                //et ajout de l'annotation
                                XYPolygonAnnotation annotation = new XYPolygonAnnotation(
                                        new double[] { lastBoundary, i, lastBoundary + distance, i,
                                                lastBoundary + distance, i + 10, lastBoundary, i + 10 });
                                chart.getXYPlot().addAnnotation(annotation);
                                lastBoundary += distance;
                            }
                        }
                        lastSecteur = secteur;
                    }
                }
                last = point;
            }
        }
        //espace en haut pour les marqueurs
        chart.getXYPlot().getRangeAxis().setUpperMargin(0.05);
        ChartPanel chartPanel = new ChartPanel(chart);
        this.setContentPane(chartPanel);
        this.pack();
    }
}

From source file:com.bdb.weather.display.day.DayHumidityPane.java

@Override
protected void addAnnotations(XYPlot plot, SummaryRecord summaryRecord) {
    plot.clearAnnotations();/*from   w w w .j  av a 2  s.  c o  m*/

    if (summaryRecord == null)
        return;

    LocalDateTime highTime = summaryRecord.getMaxOutdoorHumidityTime();
    Humidity highHumidity = summaryRecord.getMaxOutdoorHumidity();
    LocalDateTime lowTime = summaryRecord.getMinOutdoorHumidityTime();
    Humidity lowHumidity = summaryRecord.getMinOutdoorHumidity();

    if (highTime == null || highHumidity == null || lowTime == null || lowHumidity == null)
        return;

    String highAnnotation = highHumidity.toString() + Humidity.Unit.RELATIVE_HUMIDITY + " "
            + DisplayConstants.formatTime(highTime.toLocalTime());
    String lowAnnotation = lowHumidity.toString() + Humidity.Unit.RELATIVE_HUMIDITY + " "
            + DisplayConstants.formatTime(lowTime.toLocalTime());

    XYTextAnnotation a = new XYTextAnnotation(highAnnotation, TimeUtils.localDateTimeToEpochMillis(highTime),
            highHumidity.get());
    a.setTextAnchor(TextAnchor.BASELINE_CENTER);
    plot.addAnnotation(a);

    a = new XYTextAnnotation(lowAnnotation, TimeUtils.localDateTimeToEpochMillis(lowTime), lowHumidity.get());
    a.setTextAnchor(TextAnchor.TOP_CENTER);
    plot.addAnnotation(a);
}

From source file:org.jfree.experimental.chart.plot.dial.DialTextAnnotation.java

/** 
 * Creates a new instance of <code>DialTextAnnotation</code>.
 * /*from w  w  w.  ja  va2  s  .  c  o  m*/
 * @param label  the label (<code>null</code> not permitted).
 */
public DialTextAnnotation(String label) {
    if (label == null) {
        throw new IllegalArgumentException("Null 'label' argument.");
    }
    this.angle = -90.0;
    this.radius = 0.3;
    this.font = new Font("Dialog", Font.BOLD, 14);
    this.paint = Color.black;
    this.label = label;
    this.anchor = TextAnchor.TOP_CENTER;
}