List of usage examples for org.jfree.chart.axis SubCategoryAxis setMinorTickMarksVisible
public void setMinorTickMarksVisible(boolean flag)
From source file:org.oscarehr.web.reports.ocan.NeedRatingOverTimeReportGenerator.java
private JFreeChart generateNeedsOverTimeChart() { CategoryDataset dataset = this.createDataset(); JFreeChart chart = ChartFactory.createStackedBarChart("Needs over Time (Consumer and Staff)", // chart title "Assessments", // x axis label "# of Domain", // y axis label dataset, // data PlotOrientation.VERTICAL, true, // include legend true, // tooltips false // urls );//from w w w.j ava 2s. c o m chart.setBackgroundPaint(Color.LIGHT_GRAY); GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer(); KeyToGroupMap map = new KeyToGroupMap("G1"); map.mapKeyToGroup("Consumer (Unknown)", "G1"); map.mapKeyToGroup("Consumer (No Needs)", "G1"); map.mapKeyToGroup("Consumer (Met Needs)", "G1"); map.mapKeyToGroup("Consumer (Unmet Needs)", "G1"); map.mapKeyToGroup("Staff (Unknown)", "G2"); map.mapKeyToGroup("Staff (No Needs)", "G2"); map.mapKeyToGroup("Staff (Met Needs)", "G2"); map.mapKeyToGroup("Staff (Unmet Needs)", "G2"); renderer.setSeriesToGroupMap(map); renderer.setItemMargin(0.1); //renderer.setItemLabelsVisible(true); renderer.setMaximumBarWidth(15); Paint p1 = Color.GREEN; renderer.setSeriesPaint(0, p1); renderer.setSeriesPaint(4, p1); renderer.setSeriesPaint(7, p1); Paint p2 = Color.BLUE; renderer.setSeriesPaint(1, p2); renderer.setSeriesPaint(5, p2); renderer.setSeriesPaint(8, p2); Paint p3 = new Color(255, 255, 153); renderer.setSeriesPaint(2, p3); renderer.setSeriesPaint(6, p3); renderer.setSeriesPaint(9, p3); Paint p4 = Color.ORANGE; renderer.setSeriesPaint(3, p4); renderer.setSeriesPaint(7, p4); renderer.setSeriesPaint(10, p4); SubCategoryAxis domainAxis = new SubCategoryAxis("Assessments"); domainAxis.setCategoryMargin(0.05); domainAxis.addSubCategory("Consumer"); domainAxis.addSubCategory("Staff"); domainAxis.setMinorTickMarkInsideLength(10); domainAxis.setMinorTickMarkInsideLength(10); domainAxis.setMinorTickMarksVisible(true); CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setDomainAxis(domainAxis); plot.setRenderer(renderer); LegendItemCollection result = new LegendItemCollection(); LegendItem item1 = new LegendItem("Unknown", Color.GREEN); LegendItem item2 = new LegendItem("No Needs", Color.BLUE); LegendItem item3 = new LegendItem("Met Needs", new Color(255, 255, 153)); LegendItem item4 = new LegendItem("Unmet Needs", Color.ORANGE); result.add(item1); result.add(item2); result.add(item3); result.add(item4); plot.setFixedLegendItems(result); plot.setBackgroundPaint(Color.lightGray); plot.setRangeGridlinePaint(Color.black); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setRange(new Range(0, 24), true, false); rangeAxis.setTickUnit(new NumberTickUnit(4)); plot.getDomainAxis().setCategoryMargin(0.35); renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); renderer.setBaseItemLabelsVisible(true); renderer.setBasePositiveItemLabelPosition( new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.BASELINE_LEFT)); return chart; }