Refine search
final Marker valueMarker= new ValueMarker(2.0); valueMarker.setPaint(Color.green); plot.addRangeMarker(valueMarker);
Marker threshold = new ValueMarker(80.0); Hour hour1 = new Hour(18, 30, 6, 2005); Hour hour2 = new Hour(20, 30, 6, 2005); double millis1 = hour1.getFirstMillisecond(); double millis2 = hour2.getFirstMillisecond(); Marker cooling = new IntervalMarker(millis1, millis2); cooling.setLabelOffsetType(LengthAdjustmentType.EXPAND); cooling.setPaint(new Color(150, 150, 255)); cooling.setLabel("Automatic Cooling"); cooling.setLabelFont(new Font("SansSerif", Font.PLAIN, 11)); cooling.setLabelPaint(Color.blue); cooling.setLabelAnchor(RectangleAnchor.TOP_LEFT); cooling.setLabelTextAnchor(TextAnchor.TOP_RIGHT); plot.addDomainMarker(cooling, Layer.BACKGROUND);
/** * Returns a clone of the marker. * * @return A clone. * * @throws CloneNotSupportedException Not thrown by this class, but the * exception is declared for the use of subclasses. */ @Override public Object clone() throws CloneNotSupportedException { return super.clone(); }
final Marker start = new ValueMarker(3400000.0); start.setPaint(Color.red); start.setLabel("Current Value"); start.setLabelAnchor(RectangleAnchor.BOTTOM_LEFT); start.setLabelTextAnchor(TextAnchor.TOP_LEFT); plot.addRangeMarker(start);
/** * Returns a horizontal line marker for the given x value and label. */ private Marker getMarker( Double value, String label ) { Marker marker = new ValueMarker( value ); marker.setPaint( Color.BLACK ); marker.setStroke( new BasicStroke( 1.1f ) ); marker.setLabel( label ); marker.setLabelOffset( new RectangleInsets( -10, 50, 0, 0 ) ); marker.setLabelFont( SUB_TITLE_FONT ); return marker; }
render.setDotWidth(2); render.setDotHeight(2); plot.setRenderer(render); xMaxMarker = new ValueMarker(xMaxValue); xMaxMarker.setPaint(Color.green); plot.addDomainMarker(xMaxMarker); currentXMax = xMaxValue; xMinMarker = new ValueMarker(xMinValue); xMinMarker.setPaint(Color.red); plot.addDomainMarker(xMinMarker); currentXMin = xMinValue; yMaxMarker = new ValueMarker(yMaxValue); yMaxMarker.setPaint(Color.green); plot.addRangeMarker(yMaxMarker); currentYMax = yMaxValue; yMinMarker = new ValueMarker(yMinValue); yMinMarker.setPaint(Color.red); plot.addRangeMarker(yMinMarker); currentYMin = yMinValue;
AlphaComposite.SRC_OVER, marker.getAlpha())); g2.setPaint(marker.getPaint()); g2.setStroke(marker.getStroke()); g2.draw(line); String label = marker.getLabel(); RectangleAnchor anchor = marker.getLabelAnchor(); if (label != null) { Font labelFont = marker.getLabelFont(); g2.setFont(labelFont); Point2D coords = calculateRangeMarkerTextAnchorPoint( g2, orientation, dataArea, line.getBounds2D(), marker.getLabelOffset(), LengthAdjustmentType.EXPAND, anchor); Rectangle2D r = TextUtils.calcAlignedStringBounds(label, g2, (float) coords.getX(), (float) coords.getY(), marker.getLabelTextAnchor()); g2.setPaint(marker.getLabelBackgroundColor()); g2.fill(r); g2.setPaint(marker.getLabelPaint()); TextUtils.drawAlignedString(label, g2, (float) coords.getX(), (float) coords.getY(), marker.getLabelTextAnchor()); AlphaComposite.SRC_OVER, marker.getAlpha())); Paint p = marker.getPaint(); if (p instanceof GradientPaint) { GradientPaint gp = (GradientPaint) p;
private static void addBuySellSignals(TimeSeries series, Strategy strategy, XYPlot plot) { // Running the strategy TimeSeriesManager seriesManager = new TimeSeriesManager(series); List<Trade> trades = seriesManager.run(strategy).getTrades(); // Adding markers to plot for (Trade trade : trades) { // Buy signal double buySignalTickTime = new Minute( Date.from(series.getBar(trade.getEntry().getIndex()).getEndTime().toInstant())) .getFirstMillisecond(); Marker buyMarker = new ValueMarker(buySignalTickTime); buyMarker.setPaint(Color.GREEN); buyMarker.setLabel("B"); plot.addDomainMarker(buyMarker); // Sell signal double sellSignalTickTime = new Minute( Date.from(series.getBar(trade.getExit().getIndex()).getEndTime().toInstant())) .getFirstMillisecond(); Marker sellMarker = new ValueMarker(sellSignalTickTime); sellMarker.setPaint(Color.RED); sellMarker.setLabel("S"); plot.addDomainMarker(sellMarker); } }
public void placeLimitMarkers(XYPlot plot, boolean range) { if (testStepInstances.getReferenceStep() != null && testStepInstances.getReferenceStep().getTestLimit() != null) { if (testStepInstances.getReferenceStep().getTestLimit().getLowerSpecifiedLimit() != null) { final Marker lsl = new ValueMarker(testStepInstances.getReferenceStep().getTestLimit().getLowerSpecifiedLimit()); lsl.setPaint(limitcolor); lsl.setLabel("LSL"); if (range) { lsl.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT); lsl.setLabelTextAnchor(TextAnchor.TOP_RIGHT); plot.addRangeMarker(lsl); } else { lsl.setLabelAnchor(RectangleAnchor.TOP_LEFT); lsl.setLabelTextAnchor(TextAnchor.TOP_RIGHT); plot.addDomainMarker(lsl); final Marker usl = new ValueMarker(testStepInstances.getReferenceStep().getTestLimit().getUpperSpeficiedLimit()); usl.setPaint(limitcolor); usl.setLabel("USL"); if (range) { usl.setLabelAnchor(RectangleAnchor.TOP_RIGHT); usl.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); plot.addRangeMarker(usl); } else { usl.setLabelAnchor(RectangleAnchor.TOP_RIGHT); usl.setLabelTextAnchor(TextAnchor.TOP_LEFT); plot.addDomainMarker(usl);
plot.removeDomainMarker(xMaxMarker); xMaxMarker = new ValueMarker(xMaxSet); xMaxMarker.setPaint(Color.green); plot.addDomainMarker(xMaxMarker); currentXMax = xMaxSet; plot.removeDomainMarker(xMinMarker); xMinMarker = new ValueMarker(xMinSet); xMinMarker.setPaint(Color.red); plot.addDomainMarker(xMinMarker); currentXMin = xMinSet; plot.removeRangeMarker(yMaxMarker); yMaxMarker = new ValueMarker(yMaxSet); yMaxMarker.setPaint(Color.green); plot.addRangeMarker(yMaxMarker); currentYMax = yMaxSet; plot.removeRangeMarker(yMinMarker); yMinMarker = new ValueMarker(yMinSet); yMinMarker.setPaint(Color.red); plot.addRangeMarker(yMinMarker); currentYMin = yMinSet;
dataset, PlotOrientation.VERTICAL, false, true, false); ChartUtils.applyStyles(chart); final Marker meanMarker = new ValueMarker(mean.doubleValue(), WidgetUtils.BG_COLOR_BLUE_DARK, new BasicStroke(2f)); meanMarker.setLabel("Mean"); meanMarker.setLabelOffset(new RectangleInsets(70d, 25d, 0d, 0d)); meanMarker.setLabelFont(WidgetUtils.FONT_SMALL); chart.getXYPlot().addDomainMarker(meanMarker);
private void updateMarker() { if (marker != null) { plot.removeDomainMarker(marker, Layer.BACKGROUND); } if (!(markerStart.isNaN() && markerEnd.isNaN())) { if (markerEnd > markerStart) { marker = new IntervalMarker(markerStart, markerEnd); marker.setPaint(new Color(0xDD, 0xFF, 0xDD, 0x90)); marker.setAlpha(0.7f); plot.addDomainMarker(marker, Layer.BACKGROUND); } else { marker = new IntervalMarker(markerEnd, markerStart); marker.setPaint(new Color(0xDD, 0xFF, 0xDD, 0x90)); marker.setAlpha(0.7f); plot.addDomainMarker(marker, Layer.BACKGROUND); } } }
marker.addChangeListener(this); if (notify) { fireChangeEvent();
return true; if (!super.equals(obj)) { return false;
marker.addChangeListener(this); if (notify) { fireChangeEvent();
AlphaComposite.SRC_OVER, marker.getAlpha())); g2.setPaint(marker.getPaint()); g2.setStroke(marker.getStroke()); g2.draw(line); String label = marker.getLabel(); RectangleAnchor anchor = marker.getLabelAnchor(); if (label != null) { Font labelFont = marker.getLabelFont(); g2.setFont(labelFont); Point2D coords = calculateDomainMarkerTextAnchorPoint( g2, orientation, dataArea, line.getBounds2D(), marker.getLabelOffset(), LengthAdjustmentType.EXPAND, anchor); Rectangle2D r = TextUtils.calcAlignedStringBounds(label, g2, (float) coords.getX(), (float) coords.getY(), marker.getLabelTextAnchor()); g2.setPaint(marker.getLabelBackgroundColor()); g2.fill(r); g2.setPaint(marker.getLabelPaint()); TextUtils.drawAlignedString(label, g2, (float) coords.getX(), (float) coords.getY(), marker.getLabelTextAnchor()); AlphaComposite.SRC_OVER, marker.getAlpha())); Paint p = marker.getPaint(); if (p instanceof GradientPaint) { GradientPaint gp = (GradientPaint) p;
/** * Runs a strategy over a time series and adds the value markers * corresponding to buy/sell signals to the plot. * @param series a time series * @param strategy a trading strategy * @param plot the plot */ private static void addBuySellSignals(TimeSeries series, Strategy strategy, XYPlot plot) { // Running the strategy TimeSeriesManager seriesManager = new TimeSeriesManager(series); List<Trade> trades = seriesManager.run(strategy).getTrades(); // Adding markers to plot for (Trade trade : trades) { // Buy signal double buySignalTickTime = new Minute(Date.from(series.getTick(trade.getEntry().getIndex()).getEndTime().toInstant())).getFirstMillisecond(); Marker buyMarker = new ValueMarker(buySignalTickTime); buyMarker.setPaint(Color.GREEN); buyMarker.setLabel("B"); plot.addDomainMarker(buyMarker); // Sell signal double sellSignalTickTime = new Minute(Date.from(series.getTick(trade.getExit().getIndex()).getEndTime().toInstant())).getFirstMillisecond(); Marker sellMarker = new ValueMarker(sellSignalTickTime); sellMarker.setPaint(Color.RED); sellMarker.setLabel("S"); plot.addDomainMarker(sellMarker); } }
marker.addChangeListener(this); if (notify) { fireChangeEvent();
return true; if (!super.equals(obj)) { return false;