List of usage examples for org.jfree.chart.plot ValueMarker getValue
public double getValue()
From source file:biz.ixnay.pivot.charts.skin.jfree.HistogramViewSkin.java
private void createMarkers(JFreeChart chart, ChartView chartView) { for (org.apache.pivot.charts.content.ValueMarker valueMarker : chartView.getValueMarkers()) { final Marker target = new ValueMarker(valueMarker.getValue()); target.setPaint(valueMarker.getColor()); target.setLabel(valueMarker.getLabel()); target.setLabelAnchor(RectangleAnchor.TOP); target.setLabelTextAnchor(TextAnchor.TOP_LEFT); ((XYPlot) chart.getPlot()).addDomainMarker(target); }//from w ww . j a v a 2s .co m }
From source file:net.praqma.jenkins.memorymap.MemoryMapBuildAction.java
public void doDrawMemoryMapUsageGraph(StaplerRequest req, StaplerResponse rsp) throws IOException { DataSetBuilder<String, ChartUtil.NumberOnlyBuildLabel> dataset = new DataSetBuilder<String, ChartUtil.NumberOnlyBuildLabel>(); String members = req.getParameter("categories"); String graphTitle = req.getParameter("title"); int w = Integer.parseInt(req.getParameter("width")); int h = Integer.parseInt(req.getParameter("height")); List<String> memberList = Arrays.asList(members.split(",")); List<List<String>> memberLists = new ArrayList<List<String>>(); for (String s : memberList) { memberLists.add(Arrays.asList(s.split(" "))); }/*from w ww . java2s. c om*/ List<ValueMarker> markers = new ArrayList<ValueMarker>(); double max = Double.MIN_VALUE; Set<String> drawnMarker = new HashSet<String>(); String scale = getRecorder().scale; for (MemoryMapBuildAction membuild = this; membuild != null; membuild = membuild.getPreviousAction()) { ChartUtil.NumberOnlyBuildLabel label = new ChartUtil.NumberOnlyBuildLabel(membuild.build); MemoryMapConfigMemory result = membuild.getMemoryMapConfig(); MemoryMapConfigMemory resultBlacklist = new MemoryMapConfigMemory(); for (List<String> list : memberLists) { double value = 0.0d; double maxx = 0.0d; String labelName = ""; for (MemoryMapConfigMemoryItem res : result) { if (list.contains(res.getName()) && !resultBlacklist.contains(res)) { resultBlacklist.add(res); if (labelName.equals("")) { labelName = res.getName(); } else { labelName = String.format("%s+%s", labelName, res.getName()); } if (getRecorder().getShowBytesOnGraph()) { maxx = maxx + HexUtils.byteCount(res.getLength(), getRecorder().getWordSize(), scale); value = value + HexUtils.byteCount(res.getUsed(), getRecorder().getWordSize(), scale); } else { maxx = maxx + HexUtils.wordCount(res.getLength(), getRecorder().getWordSize(), scale); value = value + HexUtils.wordCount(res.getUsed(), getRecorder().getWordSize(), scale); } } else { } if (maxx > max) { max = maxx; } if (value > max) { max = value; } } if (!labelName.equals("")) { dataset.add(value, labelName, label); } boolean makeMarker = true; for (ValueMarker vm : markers) { if (maxx == vm.getValue() && !vm.getLabel().contains(labelName) && !labelName.equals("")) { drawnMarker.add(vm.getLabel().replace("(MAX) - ", "") + " - " + labelName); String s = vm.getLabel().replace("(MAX) - ", ""); vm.setLabel(String.format("%s - %s", vm.getLabel(), labelName)); //this is the size of chars used for setting the offset right double i = vm.getLabel().length() * labelOffset + 40; vm.setLabelOffset(new RectangleInsets(5, i, -20, 5)); makeMarker = false; } } if ((!labelName.equals("")) && (drawnMarker.add(labelName))) { if (makeMarker) { ValueMarker vm = new ValueMarker((double) maxx, Color.BLACK, new BasicStroke(1.2f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER, 1.0f, new float[] { 6.0f, 6.0f }, 0.0f)); vm.setLabel(String.format("(MAX) - %s", labelName)); double i = vm.getLabel().length() * labelOffset + 40; vm.setLabelOffset(new RectangleInsets(5, i, -20, 5)); vm.setLabelAnchor(RectangleAnchor.TOP_LEFT); vm.setPaint(Color.BLACK); vm.setOutlinePaint(Color.BLACK); vm.setAlpha(1.0f); markers.add(vm); } } } } String s = ""; if (scale.equalsIgnoreCase("kilo")) { s = "k"; } else if (scale.equalsIgnoreCase("mega")) { s = "M"; } else if (scale.equalsIgnoreCase("giga")) { s = "G"; } String byteLegend = s + "Bytes"; String wordLegend = s + "Words"; String legend = getRecorder().getShowBytesOnGraph() ? byteLegend : wordLegend; JFreeChart chart = createPairedBarCharts(graphTitle, legend, max * 1.1d, 0d, dataset.build(), markers); chart.setBackgroundPaint(Color.WHITE); chart.getLegend().setPosition(RectangleEdge.BOTTOM); ChartUtil.generateGraph(req, rsp, chart, w, h); }
From source file:com.vgi.mafscaling.LogPlay.java
public void setStartEndArea(ValueMarker startMarker, ValueMarker endMarker) { int start = (startMarker == null ? -1 : (int) startMarker.getValue()); int end = (endMarker == null ? -1 : (int) endMarker.getValue()); if (start == -1 || end == -1) startPlay = Math.max(start, end); else {/*from w w w.ja v a 2 s. c o m*/ startPlay = Math.min(start, end); endPlay = Math.max(start, end); } if (startPlay > lastRow) startPlay = lastRow; if (endPlay > lastRow) endPlay = lastRow; setProgressBar(startPlay); }
From source file:ch.algotrader.client.chart.ChartTab.java
private void initAxis() { DateAxis domainAxis = (DateAxis) getPlot().getDomainAxis(); // configure the Date Axis (if startTime & endTime is set) if (this.chartDefinition.getStartTime() != null && this.chartDefinition.getEndTime() != null && !this.chartDefinition.getStartTime().equals(this.chartDefinition.getEndTime())) { // creat the SegmentedTimeline long startTime = this.chartDefinition.getStartTime().getTime(); long endTime = this.chartDefinition.getEndTime().getTime(); if (endTime == -3600000) { // adjust 00:00 endTime += 86400000;//from w w w . j ava 2s .c o m } long segmentSize = 60 * 1000; // minute int segmentsIncluded = (int) (endTime - startTime) / (60 * 1000); int segmentsExcluded = 24 * 60 - segmentsIncluded; SegmentedTimeline timeline = new SegmentedTimeline(segmentSize, segmentsIncluded, segmentsExcluded); Date fromDate = domainAxis.getMinimumDate(); Date toDate = domainAxis.getMaximumDate(); long fromTime = fromDate.getTime(); long toTime = toDate.getTime(); // get year/month/day from fromTime and hour/minute from diagrm.startTime Date truncatedDate = DateUtils.truncate(fromDate, Calendar.DAY_OF_MONTH); Calendar truncatedCalendar = DateUtils.toCalendar(truncatedDate); Calendar startCalendar = DateUtils.toCalendar(this.chartDefinition.getStartTime()); truncatedCalendar.set(Calendar.HOUR_OF_DAY, startCalendar.get(Calendar.HOUR_OF_DAY)); truncatedCalendar.set(Calendar.MINUTE, startCalendar.get(Calendar.MINUTE)); timeline.setStartTime(truncatedCalendar.getTimeInMillis()); timeline.setBaseTimeline(SegmentedTimeline.newMondayThroughFridayTimeline()); timeline.addBaseTimelineExclusions(fromTime, toTime); timeline.setAdjustForDaylightSaving(true); domainAxis.setTimeline(timeline); } // make sure the markers are within the rangeAxis ValueAxis rangeAxis = getPlot().getRangeAxis(); for (Marker marker : this.markers.values()) { if (marker instanceof ValueMarker) { ValueMarker valueMarker = (ValueMarker) marker; if (marker.getAlpha() > 0 && valueMarker.getValue() != 0.0) { if (valueMarker.getValue() < rangeAxis.getLowerBound()) { rangeAxis.setLowerBound(valueMarker.getValue()); marker.setLabelAnchor(RectangleAnchor.TOP_RIGHT); marker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); } if (valueMarker.getValue() > rangeAxis.getUpperBound()) { rangeAxis.setUpperBound(valueMarker.getValue()); marker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT); marker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); } } } else { IntervalMarker intervalMarker = (IntervalMarker) marker; if (marker.getAlpha() > 0 && intervalMarker.getStartValue() != 0.0) { if (intervalMarker.getStartValue() < rangeAxis.getLowerBound()) { rangeAxis.setLowerBound(intervalMarker.getStartValue()); marker.setLabelAnchor(RectangleAnchor.TOP_RIGHT); marker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); } if (intervalMarker.getEndValue() > rangeAxis.getUpperBound()) { rangeAxis.setUpperBound(intervalMarker.getEndValue()); marker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT); marker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); } } } } }
From source file:gda.gui.mca.McaGUI.java
@SuppressWarnings("unchecked") protected void removeRegionMarkers(int region, double d, double e) { XYPlot xy = simplePlot.getChart().getXYPlot(); int found = 0; Collection<ValueMarker> c = xy.getDomainMarkers(Layer.FOREGROUND); if (c != null) { Iterator<ValueMarker> i = c.iterator(); xy.clearDomainMarkers();/* w w w .jav a2s. c om*/ while (i.hasNext()) { ValueMarker m = i.next(); if (found < 2 && (m.getValue() == d || m.getValue() == e)) { found++; } else xy.addDomainMarker(m, Layer.FOREGROUND); } if (regionMap.containsKey(region)) regionMap.remove(region); } }