Java Code Examples for org.jfree.chart.annotations.XYTextAnnotation#setTextAnchor()
The following examples show how to use
org.jfree.chart.annotations.XYTextAnnotation#setTextAnchor() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ScatterVulns.java From Benchmark with GNU General Public License v2.0 | 6 votes |
private void makeDataLabels(String category, Set<Report> toolResults, XYPlot xyplot) { HashMap<Point2D, String> map = makePointList(category, toolResults); for (Entry<Point2D, String> e : map.entrySet()) { if (e.getValue() != null) { Point2D p = e.getKey(); String label = sort(e.getValue()); XYTextAnnotation annotation = new XYTextAnnotation(label, p.getX(), p.getY()); annotation.setTextAnchor(p.getX() < 3 ? TextAnchor.TOP_LEFT : TextAnchor.TOP_CENTER); annotation.setBackgroundPaint(Color.white); if (label.toCharArray()[0] == averageLabel) { annotation.setPaint(Color.magenta); } else { annotation.setPaint(Color.blue); } annotation.setFont(theme.getRegularFont()); xyplot.addAnnotation(annotation); } } }
Example 2
Source File: ScatterTools.java From Benchmark with GNU General Public License v2.0 | 6 votes |
private void makeDataLabels(OverallResults or, XYPlot xyplot) { HashMap<Point2D, String> map = makePointList(or); for (Entry<Point2D, String> e : map.entrySet()) { if (e.getValue() != null) { Point2D p = e.getKey(); String label = sort(e.getValue()); XYTextAnnotation annotation = new XYTextAnnotation(label, p.getX(), p.getY()); annotation.setTextAnchor(p.getX() < 3 ? TextAnchor.TOP_LEFT : TextAnchor.TOP_CENTER); annotation.setBackgroundPaint(Color.white); // set color of average to black and everything else to blue if(averageLabel==label.toCharArray()[0]){ annotation.setPaint(Color.magenta); } else { annotation.setPaint(Color.blue); } annotation.setFont(theme.getRegularFont()); xyplot.addAnnotation(annotation); } } }
Example 3
Source File: ScatterPlot.java From Benchmark with GNU General Public License v2.0 | 6 votes |
public static void makeGuessingLine(XYPlot xyplot) { // draw guessing line XYLineAnnotation guessing = new XYLineAnnotation(-5, -5, 100, 100, dashed, Color.red); xyplot.addAnnotation(guessing); XYPointerAnnotation worse = makePointer(80, 0, "Worse than guessing", TextAnchor.TOP_CENTER, 90); xyplot.addAnnotation(worse); XYPointerAnnotation better = makePointer(25, 100, "Better than guessing", TextAnchor.BOTTOM_CENTER, 270); xyplot.addAnnotation(better); XYTextAnnotation stroketext = new XYTextAnnotation(" Random Guess", 88, 107); stroketext.setTextAnchor(TextAnchor.CENTER_RIGHT); stroketext.setBackgroundPaint(Color.white); stroketext.setPaint(Color.red); stroketext.setFont(theme.getRegularFont()); xyplot.addAnnotation(stroketext); XYLineAnnotation strokekey = new XYLineAnnotation(58, 107, 68, 107, dashed, Color.red); xyplot.setBackgroundPaint(Color.white); xyplot.addAnnotation(strokekey); }
Example 4
Source File: ScatterHome.java From Benchmark with GNU General Public License v2.0 | 6 votes |
private void makeDataLabels( Set<Report> toolResults, XYPlot xyplot ) { HashMap<Point2D,String> map = makePointList( toolResults ); for (Entry<Point2D,String> e : map.entrySet() ) { if ( e.getValue() != null ) { Point2D p = e.getKey(); String label = sort( e.getValue() ); XYTextAnnotation annotation = new XYTextAnnotation( label, p.getX(), p.getY()); annotation.setTextAnchor( p.getX() < 3 ? TextAnchor.TOP_LEFT : TextAnchor.TOP_CENTER); annotation.setBackgroundPaint(Color.white); if (label.toCharArray()[0] == averageLabel) { annotation.setPaint(Color.magenta); } else { annotation.setPaint(Color.blue); } annotation.setFont(theme.getRegularFont()); xyplot.addAnnotation(annotation); } } }
Example 5
Source File: ScatterTools.java From Benchmark with GNU General Public License v2.0 | 5 votes |
private JFreeChart display(String title, int height, OverallResults or) { XYSeriesCollection dataset = new XYSeriesCollection(); XYSeries series = new XYSeries("Scores"); int totalTools = 0; double totalToolTPR = 0; double totalToolFPR = 0; for (OverallResult r : or.getResults()) { series.add(r.falsePositiveRate * 100, r.truePositiveRate * 100); totalTools++; totalToolTPR += r.truePositiveRate; totalToolFPR += r.falsePositiveRate; } atpr = totalToolTPR / totalTools; afpr = totalToolFPR / totalTools; if ( or.getResults().size() > 1) { series.add(afpr * 100, atpr * 100); } dataset.addSeries(series); chart = ChartFactory.createScatterPlot(title, "False Positive Rate", "True Positive Rate", dataset, PlotOrientation.VERTICAL, true, true, false); theme.apply(chart); XYPlot xyplot = chart.getXYPlot(); initializePlot( xyplot ); makeDataLabels(or, xyplot); makeLegend( or, 103, 93, dataset, xyplot ); XYTextAnnotation time = new XYTextAnnotation("Tool run time: " + or.getTime(), 12, -5.6); time.setTextAnchor(TextAnchor.TOP_LEFT); time.setFont(theme.getRegularFont()); time.setPaint(Color.red); xyplot.addAnnotation(time); return chart; }
Example 6
Source File: ScatterPlot.java From Benchmark with GNU General Public License v2.0 | 5 votes |
public static void addGenerationDate(XYPlot xyplot) { //add scorecard generation date final String pattern = "dd MMM yyyy h:mm a"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern); String date = simpleDateFormat.format(new Date()); XYTextAnnotation gendate = new XYTextAnnotation("Scorecard Generated: " + date, 0.5, -7.5); gendate.setTextAnchor(TextAnchor.CENTER_LEFT); gendate.setBackgroundPaint(Color.white); gendate.setPaint(Color.red); gendate.setFont(theme.getRegularFont()); xyplot.addAnnotation( gendate ); }
Example 7
Source File: Scatter.java From hortonmachine with GNU General Public License v3.0 | 5 votes |
public void addAnnotation( String text, double x ) { XYPlot plot = (XYPlot) getChart().getPlot(); Color color = new Color(0, 0, 0, 100); Marker updateMarker = new ValueMarker(x, color, new BasicStroke(2f)); plot.addDomainMarker(updateMarker); if (text != null) { XYTextAnnotation updateLabel = new XYTextAnnotation(text, x, 0); updateLabel.setRotationAnchor(TextAnchor.BASELINE_CENTER); updateLabel.setTextAnchor(TextAnchor.BASELINE_CENTER); updateLabel.setRotationAngle(-3.14 / 2); updateLabel.setPaint(Color.black); plot.addAnnotation(updateLabel); } setShapeLinesVisibility(plot); }
Example 8
Source File: GrammarvizChartPanel.java From grammarviz2_src with GNU General Public License v2.0 | 4 votes |
/** * Quick and dirty hack for saving the current chart -- because normally the chart parameters need * to be defined and modifiable by the user. */ private void saveCurrentChart() { String fileName = new SimpleDateFormat("yyyyMMddhhmmssSS'.png'").format(new Date()); try { NumberAxis domain = (NumberAxis) this.timeseriesPlot.getDomainAxis(); Range domainRange = domain.getRange(); NumberAxis range = (NumberAxis) this.timeseriesPlot.getRangeAxis(); Range rangeRange = range.getRange(); String annotationString = "W:" + this.session.chartData.getSAXWindowSize() + ", P:" + this.session.chartData.getSAXPaaSize() + ", A:" + this.session.chartData.getSAXAlphabetSize(); XYTextAnnotation a = new XYTextAnnotation(annotationString, domainRange.getLowerBound() + domainRange.getLength() / 100, rangeRange.getLowerBound() + rangeRange.getLength() / 5 * 3.5); a.setTextAnchor(TextAnchor.BOTTOM_LEFT); a.setPaint(Color.RED); a.setOutlinePaint(Color.BLACK); a.setOutlineVisible(true); a.setFont(new java.awt.Font("SansSerif", java.awt.Font.BOLD, 14)); // XYPointerAnnotation a = new XYPointerAnnotation("Bam!", domainRange.getLowerBound() // + domainRange.getLength() / 10, rangeRange.getLowerBound() + rangeRange.getLength() / 5 // * 4, 5 * Math.PI / 8); this.timeseriesPlot.addAnnotation(a); // this.paintTheChart(); ChartUtilities.saveChartAsPNG(new File(fileName), this.chart, 900, 600); } catch (IOException e) { e.printStackTrace(); } }