Example usage for org.jfree.data KeyToGroupMap mapKeyToGroup

List of usage examples for org.jfree.data KeyToGroupMap mapKeyToGroup

Introduction

In this page you can find the example usage for org.jfree.data KeyToGroupMap mapKeyToGroup.

Prototype

public void mapKeyToGroup(Comparable key, Comparable group) 

Source Link

Document

Maps a key to a group.

Usage

From source file:RDGraphGenerator.java

private JFreeChart createTimeChart(String riderID) {

    String riderName = (String) riders.get(riderID);
    final JFreeChart chart = ChartFactory.createStackedBarChart(riderName + "'s Hours", // chart title
            "Month", // domain axis label
            "Hours", // range axis label
            (CategoryDataset) riderTimes.get(riderID), // data
            PlotOrientation.VERTICAL, // the plot orientation
            true, // legend
            true, // tooltips
            false // urls
    );/*from   w  ww  .j av a2s  .c o  m*/

    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup("0", "G1");
    map.mapKeyToGroup("1", "G1");
    map.mapKeyToGroup("2", "G1");
    map.mapKeyToGroup("3", "G1");
    renderer.setSeriesToGroupMap(map);

    renderer.setItemMargin(0.0);
    Paint p1 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0x22, 0xFF), 0.0f, 0.0f,
            new Color(0x88, 0x88, 0xFF));
    renderer.setSeriesPaint(0, p1);

    Paint p2 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0x88, 0xFF, 0x88));
    renderer.setSeriesPaint(1, p2);

    Paint p3 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0x22, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0x88, 0x88));
    renderer.setSeriesPaint(2, p3);

    Paint p4 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0xFF, 0x88));
    renderer.setSeriesPaint(3, p4);
    renderer.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL));

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setRenderer(renderer);
    plot.setFixedLegendItems(createLegendItems());
    CategoryAxis ca = plot.getDomainAxis();
    ca.setCategoryLabelPositions(CategoryLabelPositions.DOWN_90);
    //Make around the chart transparent.
    chart.setBackgroundPaint(null);
    return chart;

}

From source file:RDGraphGenerator.java

/**
 * Creates a sample chart.//from   w ww.ja va  2s  .  c om
 *
 * @param dataset  the dataset for the chart.
 *
 * @return A sample chart.
 */
private JFreeChart createDistChart(String riderID) {

    String riderName = (String) riders.get(riderID);
    final JFreeChart chart = ChartFactory.createStackedBarChart(riderName + "'s Distances", // chart title
            "Month", // domain axis label
            mainDist, // range axis label
            (CategoryDataset) riderDistances.get(riderID), // data
            PlotOrientation.VERTICAL, // the plot orientation
            true, // legend
            true, // tooltips
            false // urls
    );

    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup("0", "G1");
    map.mapKeyToGroup("1", "G1");
    map.mapKeyToGroup("2", "G1");
    map.mapKeyToGroup("3", "G1");
    renderer.setSeriesToGroupMap(map);

    renderer.setItemMargin(0.0);
    Paint p1 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0x22, 0xFF), 0.0f, 0.0f,
            new Color(0x88, 0x88, 0xFF));
    renderer.setSeriesPaint(0, p1);

    Paint p2 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0x88, 0xFF, 0x88));
    renderer.setSeriesPaint(1, p2);

    Paint p3 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0x22, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0x88, 0x88));
    renderer.setSeriesPaint(2, p3);

    Paint p4 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0xFF, 0x88));
    renderer.setSeriesPaint(3, p4);
    renderer.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL));

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setRenderer(renderer);
    plot.setFixedLegendItems(createLegendItems());
    ValueAxis va = (ValueAxis) plot.getRangeAxis();
    ValueAxis ova = null;
    try {
        ova = (ValueAxis) va.clone();
    } catch (CloneNotSupportedException cnse) {
    }
    ova.setLabel(secondaryDist);
    ova.setLowerBound(va.getLowerBound() * unitConversion);
    ova.setUpperBound(va.getUpperBound() * unitConversion);
    plot.setRangeAxis(1, ova);
    plot.setRangeAxisLocation(1, AxisLocation.TOP_OR_RIGHT);
    CategoryAxis ca = plot.getDomainAxis();
    ca.setCategoryLabelPositions(CategoryLabelPositions.DOWN_90);
    //Make around the chart transparent.
    chart.setBackgroundPaint(null);
    return chart;

}

From source file:org.jfree.data.KeyToGroupMapTest.java

/**
 * Confirm that the equals method can distinguish all the required fields.
 *//*w  ww. j av a 2  s  .  c  o  m*/
@Test
public void testEquals() {
    KeyToGroupMap m1 = new KeyToGroupMap("Default Group");
    KeyToGroupMap m2 = new KeyToGroupMap("Default Group");
    assertTrue(m1.equals(m2));
    assertTrue(m2.equals(m1));

    m1.mapKeyToGroup("K1", "G1");
    assertFalse(m1.equals(m2));
    m2.mapKeyToGroup("K1", "G1");
    assertTrue(m1.equals(m2));
}

From source file:edu.ucla.stat.SOCR.chart.demo.StackedBarChartDemo4.java

protected JFreeChart createLegend(CategoryDataset dataset) {

    //  JFreeChart chart = ChartFactory.createAreaChart(
    JFreeChart chart = ChartFactory.createStackedBarChart(chartTitle, // chart title
            domainLabel, // domain axis label
            rangeLabel, // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // the plot orientation
            true, // legend
            true, // tooltips
            false // urls
    );/*  ww  w  . ja  v  a  2s .c om*/

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup("Product 1 (US)", "G1");
    map.mapKeyToGroup("Product 1 (Europe)", "G1");
    map.mapKeyToGroup("Product 1 (Asia)", "G1");
    map.mapKeyToGroup("Product 1 (Middle East)", "G1");
    map.mapKeyToGroup("Product 2 (US)", "G2");
    map.mapKeyToGroup("Product 2 (Europe)", "G2");
    map.mapKeyToGroup("Product 2 (Asia)", "G2");
    map.mapKeyToGroup("Product 2 (Middle East)", "G2");
    map.mapKeyToGroup("Product 3 (US)", "G3");
    map.mapKeyToGroup("Product 3 (Europe)", "G3");
    map.mapKeyToGroup("Product 3 (Asia)", "G3");
    map.mapKeyToGroup("Product 3 (Middle East)", "G3");
    renderer.setSeriesToGroupMap(map);

    renderer.setItemMargin(0.10);
    renderer.setDrawBarOutline(false);
    Paint p1 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0x22, 0xFF), 0.0f, 0.0f,
            new Color(0x88, 0x88, 0xFF));
    renderer.setSeriesPaint(0, p1);
    renderer.setSeriesPaint(4, p1);
    renderer.setSeriesPaint(8, p1);

    Paint p2 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0x88, 0xFF, 0x88));
    renderer.setSeriesPaint(1, p2);
    renderer.setSeriesPaint(5, p2);
    renderer.setSeriesPaint(9, p2);

    Paint p3 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0x22, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0x88, 0x88));
    renderer.setSeriesPaint(2, p3);
    renderer.setSeriesPaint(6, p3);
    renderer.setSeriesPaint(10, p3);

    Paint p4 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0xFF, 0x88));
    renderer.setSeriesPaint(3, p4);
    renderer.setSeriesPaint(7, p4);
    renderer.setSeriesPaint(11, p4);
    renderer.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL));

    renderer.setLegendItemLabelGenerator(new SOCRCategorySeriesLabelGenerator());

    SubCategoryAxis domainAxis = new SubCategoryAxis("Product / Month");
    domainAxis.setCategoryMargin(0.05);
    domainAxis.addSubCategory("Product 1");
    domainAxis.addSubCategory("Product 2");
    domainAxis.addSubCategory("Product 3");

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setDomainAxis(domainAxis);
    //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    plot.setRenderer(renderer);
    return chart;

}

From source file:edu.ucla.stat.SOCR.chart.demo.StackedBarChartDemo4.java

/**
 * Creates a sample chart.//from   w w w.  j a  v  a2s  .  c o  m
 * 
 * @param dataset  the dataset for the chart.
 * 
 * @return A sample chart.
 */
protected JFreeChart createChart(CategoryDataset dataset) {

    JFreeChart chart = ChartFactory.createStackedBarChart(chartTitle, // chart title
            domainLabel, // domain axis label
            rangeLabel, // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // the plot orientation
            !legendPanelOn, // legend
            true, // tooltips
            false // urls
    );

    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup("Product 1 (US)", "G1");
    map.mapKeyToGroup("Product 1 (Europe)", "G1");
    map.mapKeyToGroup("Product 1 (Asia)", "G1");
    map.mapKeyToGroup("Product 1 (Middle East)", "G1");
    map.mapKeyToGroup("Product 2 (US)", "G2");
    map.mapKeyToGroup("Product 2 (Europe)", "G2");
    map.mapKeyToGroup("Product 2 (Asia)", "G2");
    map.mapKeyToGroup("Product 2 (Middle East)", "G2");
    map.mapKeyToGroup("Product 3 (US)", "G3");
    map.mapKeyToGroup("Product 3 (Europe)", "G3");
    map.mapKeyToGroup("Product 3 (Asia)", "G3");
    map.mapKeyToGroup("Product 3 (Middle East)", "G3");
    renderer.setSeriesToGroupMap(map);

    renderer.setItemMargin(0.10);
    renderer.setDrawBarOutline(false);
    Paint p1 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0x22, 0xFF), 0.0f, 0.0f,
            new Color(0x88, 0x88, 0xFF));
    renderer.setSeriesPaint(0, p1);
    renderer.setSeriesPaint(4, p1);
    renderer.setSeriesPaint(8, p1);

    Paint p2 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0x88, 0xFF, 0x88));
    renderer.setSeriesPaint(1, p2);
    renderer.setSeriesPaint(5, p2);
    renderer.setSeriesPaint(9, p2);

    Paint p3 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0x22, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0x88, 0x88));
    renderer.setSeriesPaint(2, p3);
    renderer.setSeriesPaint(6, p3);
    renderer.setSeriesPaint(10, p3);

    Paint p4 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0xFF, 0x22), 0.0f, 0.0f,
            new Color(0xFF, 0xFF, 0x88));
    renderer.setSeriesPaint(3, p4);
    renderer.setSeriesPaint(7, p4);
    renderer.setSeriesPaint(11, p4);
    renderer.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL));

    renderer.setLegendItemLabelGenerator(new SOCRCategorySeriesLabelGenerator());

    SubCategoryAxis domainAxis = new SubCategoryAxis("Product / Month");
    domainAxis.setCategoryMargin(0.05);
    domainAxis.addSubCategory("Product 1");
    domainAxis.addSubCategory("Product 2");
    domainAxis.addSubCategory("Product 3");

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setDomainAxis(domainAxis);
    //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    plot.setRenderer(renderer);
    //   plot.setFixedLegendItems(createLegendItems());

    setCategorySummary(dataset);
    return chart;

}

From source file:org.jfree.data.KeyToGroupMapTest.java

/**
 * Tests the getGroup() method./*from   w  ww. j  ava 2s.c  o m*/
 */
@Test
public void testGetGroup() {
    KeyToGroupMap m1 = new KeyToGroupMap("Default Group");

    // a key that hasn't been mapped should return the default group
    assertEquals("Default Group", m1.getGroup("K1"));

    m1.mapKeyToGroup("K1", "G1");
    assertEquals("G1", m1.getGroup("K1"));
    m1.mapKeyToGroup("K1", "G2");
    assertEquals("G2", m1.getGroup("K1"));
    m1.mapKeyToGroup("K1", null);
    assertEquals("Default Group", m1.getGroup("K1"));

    // a null argument should throw an exception
    boolean pass = false;
    try {
        Comparable g = m1.getGroup(null);
    } catch (IllegalArgumentException e) {
        pass = true;
    }
    assertTrue(pass);
}

From source file:org.jfree.data.KeyToGroupMapTest.java

/**
 * Tests that the getKeyCount() method returns the correct values under
 * various circumstances./*  w w  w  . jav  a  2 s . c  o  m*/
 */
@Test
public void testKeyCount() {
    KeyToGroupMap m1 = new KeyToGroupMap("Default Group");

    // a new map always has 1 group (the default group)
    assertEquals(0, m1.getKeyCount("Default Group"));

    // simple case
    m1.mapKeyToGroup("K1", "G1");
    assertEquals(1, m1.getKeyCount("G1"));
    m1.mapKeyToGroup("K1", null);
    assertEquals(0, m1.getKeyCount("G1"));

    // if there is an explicit mapping to the default group, it is counted
    m1.mapKeyToGroup("K2", "Default Group");
    assertEquals(1, m1.getKeyCount("Default Group"));

    // complicate things a little...
    m1.mapKeyToGroup("K3", "Default Group");
    m1.mapKeyToGroup("K4", "G2");
    m1.mapKeyToGroup("K5", "G2");
    m1.mapKeyToGroup("K6", "Default Group");
    assertEquals(3, m1.getKeyCount("Default Group"));
    assertEquals(2, m1.getKeyCount("G2"));

    // now overwrite group "G2"...
    m1.mapKeyToGroup("K4", "G1");
    m1.mapKeyToGroup("K5", "G1");
    assertEquals(2, m1.getKeyCount("G1"));
    assertEquals(0, m1.getKeyCount("G2"));
}

From source file:org.jfree.data.KeyToGroupMapTest.java

/**
 * Tests that the getGroupCount() method returns the correct values under
 * various circumstances.//from w w w .  ja va2  s. c  o m
 */
@Test
public void testGroupCount() {
    KeyToGroupMap m1 = new KeyToGroupMap("Default Group");

    // a new map always has 1 group (the default group)
    assertEquals(1, m1.getGroupCount());

    // if the default group is not mapped to, it should still count towards
    // the group count...
    m1.mapKeyToGroup("C1", "G1");
    assertEquals(2, m1.getGroupCount());

    // now when the default group is mapped to, it shouldn't increase the
    // group count...
    m1.mapKeyToGroup("C2", "Default Group");
    assertEquals(2, m1.getGroupCount());

    // complicate things a little...
    m1.mapKeyToGroup("C3", "Default Group");
    m1.mapKeyToGroup("C4", "G2");
    m1.mapKeyToGroup("C5", "G2");
    m1.mapKeyToGroup("C6", "Default Group");
    assertEquals(3, m1.getGroupCount());

    // now overwrite group "G2"...
    m1.mapKeyToGroup("C4", "G1");
    m1.mapKeyToGroup("C5", "G1");
    assertEquals(2, m1.getGroupCount());
}

From source file:org.jfree.data.KeyToGroupMapTest.java

/**
 * Tests the getGroupIndex() method./*  w  ww  .  j a v a  2  s .c o  m*/
 */
@Test
public void testGetGroupIndex() {
    KeyToGroupMap m1 = new KeyToGroupMap("Default Group");

    // the default group is always at index 0
    assertEquals(0, m1.getGroupIndex("Default Group"));

    // a non-existent group should return -1
    assertEquals(-1, m1.getGroupIndex("G3"));

    // indices are assigned in the order that groups are originally mapped
    m1.mapKeyToGroup("K3", "G3");
    m1.mapKeyToGroup("K1", "G1");
    m1.mapKeyToGroup("K2", "G2");
    assertEquals(1, m1.getGroupIndex("G3"));
    assertEquals(2, m1.getGroupIndex("G1"));
    assertEquals(3, m1.getGroupIndex("G2"));
}

From source file:Simulator.PerformanceCalculation.java

public JPanel cost2() {

    CategoryDataset dataset = createDataset();
    JFreeChart stackedChart = ChartFactory.createStackedBarChart("Cost", "Surgeon ID", "$", dataset,
            PlotOrientation.VERTICAL, true, true, false);
    String series1 = "Cost for Actual Wait";
    String series2 = "Cost for Minimum Wait";
    String series3 = "Cost for Acceptable Wait";

    //create group 
    GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
    KeyToGroupMap map = new KeyToGroupMap("G1");
    map.mapKeyToGroup(series1, "G1");
    map.mapKeyToGroup(series2, "G1");
    map.mapKeyToGroup(series3, "G1");

    renderer.setSeriesToGroupMap(map);/*ww w.j a  va 2 s. c om*/
    renderer.setItemMargin(0.03);

    Color red = new Color(255, 128, 0);
    Color green = new Color(0, 128, 0);
    Color yellow = new Color(165, 227, 17);

    renderer.setSeriesPaint(2, Color.RED);
    renderer.setSeriesPaint(1, yellow);
    renderer.setSeriesPaint(0, green);

    CategoryPlot plot = (CategoryPlot) stackedChart.getPlot();
    plot.setRenderer(renderer);

    return new ChartPanel(stackedChart);
}