final Marker valueMarker= new ValueMarker(2.0); valueMarker.setPaint(Color.green); plot.addRangeMarker(valueMarker);
chartPanel.addChartMouseListener(new ChartMouseListener() { public void chartMouseMoved(ChartMouseEvent event) { try { double[] values = getCrossHairValue(event); plot.clearRangeMarkers(); plot.clearDomainMarkers(); Marker yMarker = new ValueMarker(values[1]); yMarker.setPaint(Color.darkGray); plot.addRangeMarker(yMarker); Marker xMarker = new ValueMarker(values[0]); xMarker.setPaint(Color.darkGray); plot.addDomainMarker(xMarker); chartPanel.repaint(); } catch (Exception e) { } }
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); } } }
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; }
xMaxMarker.setPaint(Color.green); plot.addDomainMarker(xMaxMarker); currentXMax = xMaxSet; xMinMarker.setPaint(Color.red); plot.addDomainMarker(xMinMarker); currentXMin = xMinSet; yMaxMarker.setPaint(Color.green); plot.addRangeMarker(yMaxMarker); currentYMax = yMaxSet; yMinMarker.setPaint(Color.red); plot.addRangeMarker(yMinMarker); currentYMin = yMinSet;
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);
xMaxMarker.setPaint(Color.green); plot.addDomainMarker(xMaxMarker); currentXMax = xMaxValue; xMinMarker.setPaint(Color.red); plot.addDomainMarker(xMinMarker); currentXMin = xMinValue; yMaxMarker.setPaint(Color.green); plot.addRangeMarker(yMaxMarker); currentYMax = yMaxValue; yMinMarker.setPaint(Color.red); plot.addRangeMarker(yMinMarker); currentYMin = yMinValue;
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); } }
/** * 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); } }
if ( markerEnd > markerStart){ marker = new IntervalMarker(markerStart, markerEnd); marker.setPaint(new Color(0xDD, 0xFF, 0xDD, 0x80)); marker.setAlpha(0.5f); plot.addDomainMarker(marker,Layer.BACKGROUND);
if (testStepInstances.getReferenceStep().getTestLimit().getLowerSpecifiedLimit() != null) { final Marker lsl = new ValueMarker(testStepInstances.getReferenceStep().getTestLimit().getLowerSpecifiedLimit()); lsl.setPaint(limitcolor); lsl.setLabel("LSL"); if (range) { usl.setPaint(limitcolor); usl.setLabel("USL"); if (range) {
plot.clearRangeMarkers(); Marker baseline = new ValueMarker(0.0); baseline.setPaint(Color.black); plot.addRangeMarker(baseline, Layer.FOREGROUND); plot.setOrientation(orientation);
plot.clearRangeMarkers(); Marker baseline = new ValueMarker(0.0); baseline.setPaint(Color.BLACK); plot.addRangeMarker(baseline, Layer.FOREGROUND); plot.setOrientation(orientation);