Example usage for org.jfree.chart.title LegendTitle setSources

List of usage examples for org.jfree.chart.title LegendTitle setSources

Introduction

In this page you can find the example usage for org.jfree.chart.title LegendTitle setSources.

Prototype

public void setSources(LegendItemSource[] sources) 

Source Link

Document

Sets the legend item sources and sends a TitleChangeEvent to all registered listeners.

Usage

From source file:gov.nih.nci.caintegrator.plots.kaplanmeier.JFreeChartIKMPlottermpl.java

public static void createLegend(JFreeChart kmPlot, List<KMPlotPointSeriesSet> plotPointSeriesSetCollection) {
    LegendTitle legend = kmPlot.getLegend();
    LegendItemSource[] sources = new LegendItemSource[1];
    KMLegendItemSource legendSrc = new KMLegendItemSource();
    Comparator<KMPlotPointSeriesSet> nameComparator = new Comparator<KMPlotPointSeriesSet>() {
        public int compare(KMPlotPointSeriesSet series1, KMPlotPointSeriesSet series2) {
            return series1.getName().compareToIgnoreCase(series2.getName());
        }/*from   w  w w  .  j  av a 2 s.com*/
    };
    Collections.sort(plotPointSeriesSetCollection, nameComparator);

    LegendItem item;
    for (KMPlotPointSeriesSet plotPointSeries : plotPointSeriesSetCollection) {
        Color color = plotPointSeries.getColor();
        String title = plotPointSeries.getLegendTitle() + " (" + plotPointSeries.getGroupSize() + ")";
        item = new LegendItem(title, null, null, null, new Rectangle2D.Double(2, 2, 10, 10), color);
        legendSrc.addLegendItem(item);
    }
    sources[0] = legendSrc;
    legend.setSources(sources);
}

From source file:com.hmsinc.epicenter.webapp.chart.ChartService.java

/**
 * @param chart/* w  ww .j av  a  2s. c o m*/
 * @return
 */
private static void configureTitleAndLegend(final JFreeChart chart, final AbstractChart adapter) {

    final TextTitle title = chart.getTitle();
    if (title != null) {
        title.setFont(new Font("Arial", Font.BOLD, 12));
        // title.setBackgroundPaint(Color.CYAN);
        title.setTextAlignment(HorizontalAlignment.LEFT);
        title.setHorizontalAlignment(HorizontalAlignment.CENTER);
        title.setMargin(0, 4, 5, 6);
    }

    if (chart.getLegend() != null) {
        chart.removeLegend();

        final LegendTitle legend = new LegendTitle(chart.getPlot(), new SNColumnArrangement(0, 0),
                new ColumnArrangement(HorizontalAlignment.CENTER, VerticalAlignment.CENTER, 0, 0));

        legend.setItemFont(LEGEND_FONT);
        legend.setPosition(RectangleEdge.BOTTOM);
        legend.setHorizontalAlignment(HorizontalAlignment.CENTER);
        legend.setBackgroundPaint(Color.WHITE);
        legend.setFrame(new LineBorder());
        legend.setMargin(0, 4, 5, 6);

        chart.addLegend(legend);

        // Now we'll try to remove any duplicate items from the legend..
        final Map<String, Integer> keys = new HashMap<String, Integer>();
        final LegendItemCollection items = new LegendItemCollection();

        for (LegendItemSource source : legend.getSources()) {

            for (int i = 0; i < source.getLegendItems().getItemCount(); i++) {

                final LegendItem item = source.getLegendItems().get(i);
                if (!keys.containsKey(item.getLabel())) {
                    keys.put(item.getLabel(), i);
                    items.add(item);
                }
            }
        }

        legend.setSources(new LegendItemSource[] { new LegendItemSource() {

            /*
             * (non-Javadoc)
             * 
             * @see org.jfree.chart.LegendItemSource#getLegendItems()
             */
            public LegendItemCollection getLegendItems() {
                return items;
            }

        } });
    }
}

From source file:gov.nih.nci.cma.web.graphing.CMAPrincipalComponentAnalysisPlot.java

/**
 * Build the legend//from   w w  w  . j a  va 2s  . c o m
 *
 */
private void buildLegend() {

    LegendTitle legend = pcaChart.getLegend();
    LegendItemSource[] sources = new LegendItemSource[1];
    PcaLegendItemSource legendSrc = new PcaLegendItemSource();
    LegendItem item = null;

    Ellipse2D.Double circle = new Ellipse2D.Double(0, 0, 8, 8);

    //Rect=survival less than 10 months
    Set<String> groupNames = sampleGroupNames.keySet();
    for (String name : groupNames) {
        Color color = colorMap.get(sampleGroupNames.get(name));
        if (color == null)
            color = Color.BLACK;
        item = new LegendItem(name, null, null, null, circle, color);
        legendSrc.addLegendItem(item);
    }
    sources[0] = legendSrc;
    legend.setSources(sources);
}

From source file:gov.nih.nci.caintegrator.ui.graphing.chart.plot.ClinicalPlot.java

/**
 * Build the legend//from  w  ww  . j a  v  a2 s  .c  o m
 *
 */
private void buildLegend() {

    LegendTitle legend = clinicalChart.getLegend();
    LegendItemSource[] sources = new LegendItemSource[1];
    ClinicalLegendItemSource legendSrc = new ClinicalLegendItemSource();
    LegendItem item = null;

    //go through the disease color map and add legend items
    String diseaseName = null;
    Color diseaseColor = null;
    DiseaseType[] diseases = DiseaseType.values();
    for (int i = 0; i < diseases.length; i++) {
        diseaseName = diseases[i].name();
        if (diseases[i].equals(DiseaseType.UNCLASSIFIED)) {
            continue; //remove unclassified from the legend
        }
        diseaseColor = diseases[i].getColor();
        item = new LegendItem(diseaseName, null, null, null, new Line2D.Double(0, 0, 6, 6),
                new BasicStroke(3.0f), diseaseColor);
        legendSrc.addLegendItem(item);
    }

    //      for (Iterator i=diseaseColorMap.keySet().iterator(); i.hasNext(); ) {
    //       diseaseName = (String) i.next();
    //       diseaseColor = (Color) diseaseColorMap.get(diseaseName);
    //       item = new LegendItem(diseaseName, null, null, null, new Line2D.Double(0,0,6,6), new BasicStroke(3.0f), diseaseColor);
    //       //item = new LegendItem(diseaseName, null, null, null, new Rectangle2D.Double(0,0,6,6), diseaseColor);
    //       legendSrc.addLegendItem(item);
    //     }

    sources[0] = legendSrc;
    legend.setSources(sources);
}

From source file:gov.nih.nci.ispy.ui.graphing.chart.plot.ISPYPrincipalComponentAnalysisPlot.java

/**
 * Build the legend/*from   w w  w .  j  a  v  a2s . c om*/
 *
 */
private void buildLegend() {

    LegendTitle legend = pcaChart.getLegend();
    LegendItemSource[] sources = new LegendItemSource[1];
    PcaLegendItemSource legendSrc = new PcaLegendItemSource();
    LegendItem item = null;

    //Rect=survival less than 10 months
    item = new LegendItem("Tumor size change (MRI): Unknown", null, null, null,
            new Rectangle2D.Double(0, 0, 8, 8), Color.BLACK);
    legendSrc.addLegendItem(item);

    GeneralPath downtriangle = new GeneralPath();
    downtriangle.moveTo(-4.0f, -4.0f);
    downtriangle.lineTo(4.0f, -4.0f);
    downtriangle.lineTo(0.0f, 4.0f);
    downtriangle.closePath();
    item = new LegendItem("Tumor size reduced by 30% or more (MRI)", null, null, null, downtriangle,
            Color.BLACK);
    legendSrc.addLegendItem(item);

    item = new LegendItem("Tumor size reduced less than 30% or no change (MRI)", null, null, null,
            new Ellipse2D.Double(0, 0, 8, 8), Color.BLACK);
    legendSrc.addLegendItem(item);

    GeneralPath uptriangle = new GeneralPath();
    uptriangle.moveTo(0.0f, -4.0f);
    uptriangle.lineTo(4.0f, 4.0f);
    uptriangle.lineTo(-4.0f, 4.0f);
    uptriangle.closePath();
    item = new LegendItem("Tumor size increased (MRI)", null, null, null, uptriangle, Color.BLACK);
    legendSrc.addLegendItem(item);

    if (colorBy == ColorByType.CLINICALRESPONSE) {

        for (ClinicalResponseType cr : ClinicalResponseType.values()) {
            item = new LegendItem(cr.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                    new BasicStroke(3.0f), cr.getColor());
            legendSrc.addLegendItem(item);
        }

    } else if (colorBy == ColorByType.DISEASESTAGE) {

        for (ClinicalStageType ds : ClinicalStageType.values()) {
            if (!ds.name().endsWith("ALL")) {
                item = new LegendItem(ds.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                        new BasicStroke(3.0f), ds.getColor());
                legendSrc.addLegendItem(item);
            }
        }
    } else if (colorBy == ColorByType.TIMEPOINT) {
        for (TimepointType tp : TimepointType.values()) {
            item = new LegendItem(tp.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                    new BasicStroke(3.0f), tp.getColor());
            legendSrc.addLegendItem(item);
        }
    }

    sources[0] = legendSrc;
    legend.setSources(sources);
}

From source file:gov.nih.nci.caintegrator.ui.graphing.chart.plot.PrincipalComponentAnalysisPlot.java

/**
 * Build the legend//from w  ww. j av a2s  .  c  o m
 *
 */
protected void buildLegend() {

    LegendTitle legend = pcaChart.getLegend();
    LegendItemSource[] sources = new LegendItemSource[1];
    PcaLegendItemSource legendSrc = new PcaLegendItemSource();
    LegendItem item = null;

    //Rect=survival less than 10 months
    item = new LegendItem("Survival less than 10 months", null, null, null, new Rectangle2D.Double(0, 0, 8, 8),
            Color.BLACK);
    legendSrc.addLegendItem(item);

    //Circle=survival 10 months or more
    item = new LegendItem("Survival over 10 months", null, null, null, new Ellipse2D.Double(0, 0, 8, 8),
            Color.BLACK);
    legendSrc.addLegendItem(item);

    //Triangle if data if survival data is missing
    GeneralPath triangle = new GeneralPath();
    //     triangle.moveTo(1.0f,0.0f);
    //     triangle.moveTo(0.0f,1.0f);
    //     triangle.moveTo(1.0f,1.0f);
    triangle.moveTo(0.0f, -4.0f);
    triangle.lineTo(4.0f, 4.0f);
    triangle.lineTo(-4.0f, 4.0f);
    triangle.closePath();
    //triangle.closePath();
    item = new LegendItem("Survival Unknown", null, null, null, triangle, Color.BLACK);
    legendSrc.addLegendItem(item);

    //Diamond=survival N/A, for non_tumor/normal
    Shape r = new Rectangle2D.Double(0, 0, 8, 8);
    Shape d = ShapeUtilities.rotateShape(r, new Double(0.785398163), new Float(0), new Float(0));
    item = new LegendItem("Survival N/A", null, null, null, d, Color.BLACK);
    legendSrc.addLegendItem(item);

    if (colorBy == PCAcolorByType.Disease) {
        //go through the disease color map and add legend items
        String diseaseName = null;
        Color diseaseColor = null;
        DiseaseType[] diseases = DiseaseType.values();
        for (int i = 0; i < diseases.length; i++) {
            diseaseName = diseases[i].name();
            if (diseases[i].equals(DiseaseType.UNCLASSIFIED)) {
                continue; //remove unclassified from the legend
            }
            diseaseColor = diseases[i].getColor();
            item = new LegendItem(diseaseName, null, null, null, new Line2D.Double(0, 0, 6, 6),
                    new BasicStroke(3.0f), diseaseColor);
            //item = new LegendItem(diseaseName, null, null, null, new Rectangle2D.Double(0,0,6,6), diseaseColor);
            legendSrc.addLegendItem(item);
        }
        //      item = new LegendItem("Unknown", null, null, null, new Line2D.Double(0,0,6,6), new BasicStroke(3.0f), Color.GRAY);
        //      legendSrc.addLegendItem(item);
    } else if (colorBy == PCAcolorByType.Gender) {
        String genderName = null;
        Color genderColor = null;
        GenderType[] genderTypes = GenderType.values();
        for (int i = 0; i < genderTypes.length; i++) {
            genderName = genderTypes[i].toString();
            genderColor = genderTypes[i].getColor();
            item = new LegendItem(genderName, null, null, null, new Line2D.Double(0, 0, 6, 6),
                    new BasicStroke(3.0f), genderColor);
            legendSrc.addLegendItem(item);
        }
        //        item = new LegendItem("Male", null, null, null, new Line2D.Double(0,0,6,6), new BasicStroke(3.0f), Color.BLUE);
        //        legendSrc.addLegendItem(item);
        //        item = new LegendItem("Female", null, null, null, new Line2D.Double(0,0,6,6), new BasicStroke(3.0f), Color.PINK);
        //        legendSrc.addLegendItem(item);
        //        item = new LegendItem("Unknown", null, null, null, new Line2D.Double(0,0,6,6), new BasicStroke(3.0f),Color.GRAY);
        //        legendSrc.addLegendItem(item);
    }

    sources[0] = legendSrc;
    legend.setSources(sources);
}

From source file:gov.nih.nci.ispy.ui.graphing.chart.plot.ISPYCorrelationScatterPlot.java

private void buildLegend() {
    LegendTitle legend = corrChart.getLegend();
    LegendItemSource[] sources = new LegendItemSource[1];
    CorrLegendItemSource legendSrc = new CorrLegendItemSource();
    LegendItem item = null;/*from  w w w  .j  av a  2s .c  o  m*/

    //Rect=survival less than 10 months

    GeneralPath downtriangle = new GeneralPath();
    downtriangle.moveTo(-4.0f, -4.0f);
    downtriangle.lineTo(4.0f, -4.0f);
    downtriangle.lineTo(0.0f, 4.0f);
    downtriangle.closePath();
    item = new LegendItem("Tumor size reduced by 30% or more (MRI)", null, null, null, downtriangle,
            Color.BLACK);
    legendSrc.addLegendItem(item);

    item = new LegendItem("Tumor size reduced less than 30% or no change (MRI)", null, null, null,
            new Ellipse2D.Double(0, 0, 8, 8), Color.BLACK);
    legendSrc.addLegendItem(item);

    GeneralPath uptriangle = new GeneralPath();
    uptriangle.moveTo(0.0f, -4.0f);
    uptriangle.lineTo(4.0f, 4.0f);
    uptriangle.lineTo(-4.0f, 4.0f);
    uptriangle.closePath();
    item = new LegendItem("Tumor size increased (MRI)", null, null, null, uptriangle, Color.BLACK);
    legendSrc.addLegendItem(item);

    item = new LegendItem("Tumor size change N/A", null, null, null, new Rectangle2D.Double(0, 0, 8, 8),
            Color.BLACK);
    legendSrc.addLegendItem(item);

    if (colorBy == ColorByType.CLINICALRESPONSE) {

        for (ClinicalResponseType cr : ClinicalResponseType.values()) {
            item = new LegendItem(cr.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                    new BasicStroke(3.0f), cr.getColor());
            legendSrc.addLegendItem(item);
        }

    } else if (colorBy == ColorByType.DISEASESTAGE) {

        for (ClinicalStageType ds : ClinicalStageType.values()) {
            if (!ds.name().endsWith("ALL")) {
                item = new LegendItem(ds.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                        new BasicStroke(3.0f), ds.getColor());
                legendSrc.addLegendItem(item);
            }
        }
    } else if (colorBy == ColorByType.TIMEPOINT) {
        for (TimepointType tp : TimepointType.values()) {
            item = new LegendItem(tp.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                    new BasicStroke(3.0f), tp.getColor());
            legendSrc.addLegendItem(item);
        }
    } else if ((colorBy == ColorByType.IHC_EXPRESSION_X) || (colorBy == ColorByType.IHC_EXPRESSION_Y)) {
        //         for (CorrScatterColorByIHCType ihcType : CorrScatterColorByIHCType.values()) {
        //          item = new LegendItem(ihcType.toString(), null, null, null, new Line2D.Double(0,0,6,6), new BasicStroke(3.0f), ihcType.getColor());
        //         legendSrc.addLegendItem(item);  
        //         }
        if (ihcBiomarkerType == IHCBiomarkerType.BCL2) {
            for (BCL2ihcType ihcType : BCL2ihcType.values()) {
                item = new LegendItem(ihcType.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                        new BasicStroke(3.0f), ihcType.getColor());
                legendSrc.addLegendItem(item);
            }
        } else if (ihcBiomarkerType == IHCBiomarkerType.EGFR) {
            for (EGFRihcType ihcType : EGFRihcType.values()) {
                item = new LegendItem(ihcType.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                        new BasicStroke(3.0f), ihcType.getColor());
                legendSrc.addLegendItem(item);
            }
        } else if (ihcBiomarkerType == IHCBiomarkerType.FAK) {
            for (FAKihcType ihcType : FAKihcType.values()) {
                item = new LegendItem(ihcType.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                        new BasicStroke(3.0f), ihcType.getColor());
                legendSrc.addLegendItem(item);
            }
        } else if (ihcBiomarkerType == IHCBiomarkerType.HER2) {
            for (HER2ihcType ihcType : HER2ihcType.values()) {
                item = new LegendItem(ihcType.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                        new BasicStroke(3.0f), ihcType.getColor());
                legendSrc.addLegendItem(item);
            }
        } else if (ihcBiomarkerType == IHCBiomarkerType.KI67) {
            for (Ki67ihcType ihcType : Ki67ihcType.values()) {
                item = new LegendItem(ihcType.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                        new BasicStroke(3.0f), ihcType.getColor());
                legendSrc.addLegendItem(item);
            }
        } else if (ihcBiomarkerType == IHCBiomarkerType.P27) {
            for (P27ihcType ihcType : P27ihcType.values()) {
                item = new LegendItem(ihcType.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                        new BasicStroke(3.0f), ihcType.getColor());
                legendSrc.addLegendItem(item);
            }
        } else if (ihcBiomarkerType == IHCBiomarkerType.P53) {
            for (P53ihcType ihcType : P53ihcType.values()) {
                item = new LegendItem(ihcType.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                        new BasicStroke(3.0f), ihcType.getColor());
                legendSrc.addLegendItem(item);
            }
        } else if (ihcBiomarkerType == IHCBiomarkerType.CYCLIN_D1) {
            for (CCND1ihcType ihcType : CCND1ihcType.values()) {
                item = new LegendItem(ihcType.toString(), null, null, null, new Line2D.Double(0, 0, 6, 6),
                        new BasicStroke(3.0f), ihcType.getColor());
                legendSrc.addLegendItem(item);
            }
        }

    }

    sources[0] = legendSrc;
    legend.setSources(sources);

}