List of usage examples for org.jfree.chart.plot Marker setStroke
public void setStroke(Stroke stroke)
From source file:no.met.jtimeseries.chart.ChartPlotter.java
public void addDomainMarkers(Date start, Date stop, TimeZone timeZone, Locale locale) { if (!addedDomainMarkers) { //make a one hour by one hour time list //The reason is that not all the data are hour by hour //domainMarkers will not mark labels when no date at clock 00:00 List<Date> time = getTimeHourByHour(start, stop); // set the markers Map<Long, String> domainMarkers = getDomainMarkersWithLabel(time, timeZone, locale); for (Map.Entry<Long, String> entry : domainMarkers.entrySet()) { Long timeInMilli = entry.getKey(); String label = entry.getValue(); final Marker originalEnd = new ValueMarker(timeInMilli); originalEnd.setPaint(Color.DARK_GRAY); originalEnd.setStroke(new BasicStroke(1.0f)); originalEnd.setLabel(label);//Arial Hebrew, SansSerif originalEnd.setLabelFont(new Font("Arial", Font.PLAIN, 14)); originalEnd.setLabelAnchor(RectangleAnchor.TOP_RIGHT); originalEnd.setLabelTextAnchor(TextAnchor.TOP_LEFT); plot.addDomainMarker(originalEnd, Layer.BACKGROUND); setAddedDomainMarkers(true); }// www .j a v a2 s.co m } }
From source file:ch.algotrader.client.chart.ChartTab.java
private void initMarker(SeriesDefinitionVO seriesDefinition) { final MarkerDefinitionVO markerDefinition = (MarkerDefinitionVO) seriesDefinition; final Marker marker; if (markerDefinition.isInterval()) { marker = new IntervalMarker(0, 0); marker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT); // position of the label marker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); // position of the text within the label } else {/* w w w . j a va 2s. c om*/ marker = new ValueMarker(0); marker.setLabelAnchor(RectangleAnchor.TOP_RIGHT); marker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); } marker.setPaint(getColor(markerDefinition.getColor())); marker.setLabel(markerDefinition.getLabel()); marker.setLabelFont(new Font("SansSerif", 0, 9)); if (seriesDefinition.isDashed()) { marker.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f, new float[] { 5.0f }, 0.0f)); } else { marker.setStroke(new BasicStroke(1.0f)); } getPlot().addRangeMarker(marker, markerDefinition.isInterval() ? Layer.BACKGROUND : Layer.FOREGROUND); this.markers.put(markerDefinition.getName(), marker); this.markersSelectionStatus.put(markerDefinition.getName(), seriesDefinition.isSelected()); // add the menu item JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem(seriesDefinition.getLabel()); menuItem.setSelected(seriesDefinition.isSelected()); menuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { resetAxis(); boolean selected = ((JCheckBoxMenuItem) e.getSource()).isSelected(); ChartTab.this.markersSelectionStatus.put(markerDefinition.getName(), selected); if (selected) { if (marker instanceof ValueMarker) { marker.setAlpha(1.0f); } else { marker.setAlpha(0.5f); } } else { marker.setAlpha(0); } initAxis(); } }); this.getPopupMenu().add(menuItem); }
From source file:desmoj.extensions.visualization2d.engine.modelGrafic.StatisticGrafic.java
/** * Update of animation type StatisticGrafic.ANIMATION_Histogram * @throws ModelException/*from w w w .ja v a 2 s. com*/ */ private void updateHistogram() throws ModelException { Marker meanMarker, minMarker, maxMarker; double mean, min0, max0; XYPlot plot = this.chart.getXYPlot(); String domainAxisLabel = "Observations "; switch (this.statistic.getTypeIndex()) { case Statistic.INDEX_None: break; case Statistic.INDEX_Min_Max: plot.clearDomainMarkers(); min0 = statistic.getMin(); max0 = statistic.getMax(); if (!Double.isNaN(min0)) { minMarker = new ValueMarker(min0); minMarker.setPaint(StatisticGrafic.DIAGRAM_MARKER_MIN_MAX); minMarker.setStroke(new BasicStroke(2.0f)); plot.addDomainMarker(minMarker, Layer.FOREGROUND); } if (!Double.isNaN(max0)) { maxMarker = new ValueMarker(max0); maxMarker.setPaint(StatisticGrafic.DIAGRAM_MARKER_MIN_MAX); maxMarker.setStroke(new BasicStroke(2.0f)); plot.addDomainMarker(maxMarker, Layer.FOREGROUND); } domainAxisLabel += "(min - max)"; break; case Statistic.INDEX_Mean_StdDev: plot.clearDomainMarkers(); min0 = statistic.getMean() - statistic.getStdDev(); max0 = statistic.getMean() + statistic.getStdDev(); mean = statistic.getMean(); if (!Double.isNaN(mean)) { meanMarker = new ValueMarker(mean); meanMarker.setPaint(StatisticGrafic.DIAGRAM_MARKER_MEAN); meanMarker.setStroke(new BasicStroke(2.0f)); plot.addDomainMarker(meanMarker, Layer.FOREGROUND); } if (!Double.isNaN(min0)) { minMarker = new ValueMarker(min0); minMarker.setPaint(StatisticGrafic.DIAGRAM_MARKER_STD_DEV); minMarker.setStroke(new BasicStroke(2.0f)); plot.addDomainMarker(minMarker, Layer.FOREGROUND); } if (!Double.isNaN(max0)) { maxMarker = new ValueMarker(max0); maxMarker.setPaint(StatisticGrafic.DIAGRAM_MARKER_STD_DEV); maxMarker.setStroke(new BasicStroke(2.0f)); plot.addDomainMarker(maxMarker, Layer.FOREGROUND); } domainAxisLabel += "(\u03BC-\u03C3 - mean - \u03BC+\u03C3)"; break; } this.buildHistogramAxisFormat(plot, domainAxisLabel); }
From source file:desmoj.extensions.visualization2d.engine.modelGrafic.StatisticGrafic.java
/** * Update of animation type StatisticGrafic.ANIMATION_TimeValueDiagram * @throws ModelException/*ww w .ja v a 2s . co m*/ */ private void updateTimeValueDiagram() throws ModelException { Marker meanMarker, minMarker, maxMarker; double mean, min0, max0; XYPlot plot = this.chart.getXYPlot(); String rangeAxisLabel = ""; switch (this.statistic.getTypeIndex()) { case Statistic.INDEX_None: break; case Statistic.INDEX_Min_Max: plot.clearRangeMarkers(); min0 = statistic.getMin(); max0 = statistic.getMax(); if (!Double.isNaN(min0)) { minMarker = new ValueMarker(min0); minMarker.setPaint(StatisticGrafic.DIAGRAM_MARKER_MIN_MAX); minMarker.setStroke(new BasicStroke(2.0f)); plot.addRangeMarker(minMarker, Layer.BACKGROUND); } if (!Double.isNaN(max0)) { maxMarker = new ValueMarker(max0); maxMarker.setPaint(StatisticGrafic.DIAGRAM_MARKER_MIN_MAX); maxMarker.setStroke(new BasicStroke(2.0f)); plot.addRangeMarker(maxMarker, Layer.BACKGROUND); } rangeAxisLabel = "min - max"; break; case Statistic.INDEX_Mean_StdDev: plot.clearRangeMarkers(); if (statistic.hasValue()) { min0 = statistic.getMean() - statistic.getStdDev(); max0 = statistic.getMean() + statistic.getStdDev(); mean = statistic.getMean(); if (!Double.isNaN(mean)) { meanMarker = new ValueMarker(mean); meanMarker.setPaint(StatisticGrafic.DIAGRAM_MARKER_MEAN); meanMarker.setStroke(new BasicStroke(2.0f)); plot.addRangeMarker(meanMarker, Layer.BACKGROUND); } if (!Double.isNaN(min0)) { minMarker = new ValueMarker(min0); minMarker.setPaint(StatisticGrafic.DIAGRAM_MARKER_STD_DEV); minMarker.setStroke(new BasicStroke(2.0f)); plot.addRangeMarker(minMarker, Layer.BACKGROUND); } if (!Double.isNaN(max0)) { maxMarker = new ValueMarker(max0); maxMarker.setPaint(StatisticGrafic.DIAGRAM_MARKER_STD_DEV); maxMarker.setStroke(new BasicStroke(2.0f)); plot.addRangeMarker(maxMarker, Layer.BACKGROUND); } } rangeAxisLabel = "\u03BC-\u03C3 - mean - \u03BC+\u03C3"; break; } //this.buildTimeValueDiagramAxisFormat(plot, rangeAxisLabel); }