List of usage examples for org.jfree.chart.urls PieURLGenerator PieURLGenerator
PieURLGenerator
From source file:org.openfaces.component.chart.impl.plots.PiePlot3DAdapter.java
private void setupTooltipsAndUrls(PiePlot plot, final PieChartView chartView) { if (chartView.getTooltip() != null) { plot.setToolTipGenerator(new PieToolTipGenerator() { public String generateToolTip(PieDataset pieDataset, Comparable comparable) { return chartView.getTooltip(); }/* w w w .j av a2 s .c o m*/ }); } else if (chartView.getDynamicTooltip() != null) { plot.setToolTipGenerator(new DynamicPieGenerator(chartView, chartView.getDynamicTooltip())); } if (chartView.getUrl() != null) { plot.setURLGenerator(new PieURLGenerator() { public String generateURL(PieDataset pieDataset, Comparable comparable, int i) { return chartView.getUrl(); } }); } else if (chartView.getDynamicUrl() != null) { plot.setURLGenerator(new DynamicPieGenerator(chartView, chartView.getDynamicUrl())); } }
From source file:org.pentaho.chart.plugin.jfreechart.JFreeChartFactoryEngine.java
public JFreeChart makePieChart(ChartModel chartModel, NamedValuesDataModel dataModel, final IChartLinkGenerator linkGenerator) { final DefaultPieDataset dataset = new DefaultPieDataset(); for (NamedValue namedValue : dataModel) { if (namedValue.getName() != null) { dataset.setValue(namedValue.getName(), scaleNumber(namedValue.getValue(), dataModel.getScalingFactor())); }//from ww w . ja v a 2 s. c o m } boolean showLegend = (chartModel.getLegend() != null) && (chartModel.getLegend().getVisible()); String title = ""; if ((chartModel.getTitle() != null) && (chartModel.getTitle().getText() != null) && (chartModel.getTitle().getText().trim().length() > 0)) { title = chartModel.getTitle().getText(); } final JFreeChart chart = ChartFactory.createPieChart(title, dataset, showLegend, true, false); initChart(chart, chartModel); final PiePlot jFreePiePlot = (PiePlot) chart.getPlot(); if (linkGenerator != null) { jFreePiePlot.setURLGenerator(new PieURLGenerator() { public String generateURL(PieDataset arg0, Comparable arg1, int arg2) { return linkGenerator.generateLink(arg1.toString(), arg1.toString(), arg0.getValue(arg1)); } }); } jFreePiePlot.setNoDataMessage("No data available"); //$NON-NLS-1$ jFreePiePlot.setCircular(true); jFreePiePlot.setLabelGap(0.02); org.pentaho.chart.model.PiePlot chartBeansPiePlot = (org.pentaho.chart.model.PiePlot) chartModel.getPlot(); List<Integer> colors = getPlotColors(chartBeansPiePlot); int index = 0; for (NamedValue namedValue : dataModel) { if (namedValue.getName() != null) { jFreePiePlot.setSectionPaint(namedValue.getName(), new Color(0x00FFFFFF & colors.get(index % colors.size()))); } index++; } if (chartBeansPiePlot.getLabels().getVisible()) { jFreePiePlot.setLabelGenerator(new StandardPieSectionLabelGenerator()); Font font = ChartUtils.getFont(chartBeansPiePlot.getLabels().getFontFamily(), chartBeansPiePlot.getLabels().getFontStyle(), chartBeansPiePlot.getLabels().getFontWeight(), chartBeansPiePlot.getLabels().getFontSize()); if (font != null) { jFreePiePlot.setLabelFont(font); if (chartBeansPiePlot.getLabels().getColor() != null) { jFreePiePlot.setLabelPaint(new Color(0x00FFFFFF & chartBeansPiePlot.getLabels().getColor())); } if (chartBeansPiePlot.getLabels().getBackgroundColor() != null) { jFreePiePlot.setLabelBackgroundPaint( new Color(0x00FFFFFF & chartBeansPiePlot.getLabels().getBackgroundColor())); } } } else { jFreePiePlot.setLabelGenerator(null); } jFreePiePlot.setStartAngle(-chartBeansPiePlot.getStartAngle()); return chart; }
From source file:lucee.runtime.tag.Chart.java
private void setUrl(JFreeChart chart) { if (StringUtil.isEmpty(url)) return;// w w w. j a va 2 s . c o m Plot plot = chart.getPlot(); if (plot instanceof PiePlot) { PiePlot pp = (PiePlot) plot; pp.setURLGenerator(new PieURLGenerator() { public String generateURL(PieDataset dataset, Comparable key, int pieIndex) { if (!StringUtil.contains(url, "?")) url += "?series=$SERIESLABEL$&category=$ITEMLABEL$&value=$VALUE$"; String retUrl = StringUtil.replace(url, "$ITEMLABEL$", URLUtilities.encode(key.toString(), "UTF-8"), false, true); retUrl = StringUtil.replace(retUrl, "$SERIESLABEL$", Integer.toString(pieIndex), false, true); retUrl = StringUtil.replace(retUrl, "$VALUE$", URLUtilities.encode(dataset.getValue(key).toString(), "UTF-8"), false, true); return retUrl; } }); } else if (plot instanceof CategoryPlot) { CategoryPlot cp = (CategoryPlot) plot; CategoryItemRenderer renderer = cp.getRenderer(); renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator() { public String generateURL(CategoryDataset dataset, int series, int category) { if (!StringUtil.contains(url, "?")) url += "?series=$SERIESLABEL$&category=$ITEMLABEL$&value=$VALUE$"; String retUrl = StringUtil.replace(url, "$ITEMLABEL$", URLUtilities.encode(dataset.getColumnKey(category).toString(), "UTF-8"), false, true); retUrl = StringUtil.replace(retUrl, "$SERIESLABEL$", URLUtilities.encode(dataset.getRowKey(series).toString(), "UTF-8"), false, true); retUrl = StringUtil.replace(retUrl, "$VALUE$", URLUtilities.encode(dataset.getValue(series, category).toString(), "UTF-8"), false, true); return retUrl; } }); } else if (plot instanceof XYPlot) { XYPlot cp = (XYPlot) plot; XYItemRenderer renderer = cp.getRenderer(); renderer.setURLGenerator(new StandardXYURLGenerator() { public String generateURL(XYDataset dataset, int series, int category) { if (!StringUtil.contains(url, "?")) url += "?series=$SERIESLABEL$&category=$ITEMLABEL$&value=$VALUE$"; String itemLabel = _plotItemLables.get(category + 1) != null ? _plotItemLables.get(category + 1) : dataset.getX(series, category).toString(); String retUrl = StringUtil.replace(url, "$ITEMLABEL$", URLUtilities.encode(itemLabel, "UTF-8"), false, true); retUrl = StringUtil.replace(retUrl, "$SERIESLABEL$", URLUtilities.encode(dataset.getSeriesKey(series).toString(), "UTF-8"), false, true); retUrl = StringUtil.replace(retUrl, "$VALUE$", URLUtilities.encode(dataset.getY(series, category).toString(), "UTF-8"), false, true); return retUrl; } }); } }