From: SourceForge.net <no...@so...> - 2007-01-25 14:25:56
|
Bugs item #1562744, was opened at 2006-09-21 09:12 Message generated for change (Comment added) made by mungady You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115494&aid=1562744&group_id=15494 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: General Group: 1.0.x >Status: Closed Resolution: None Priority: 5 Private: Yes Submitted By: misterblue38 (misterblue38) Assigned to: David Gilbert (mungady) Summary: Duplicated items in legend Initial Comment: Hello, Creating a barchart, it happens sometimes that items of the legend are duplicated (two times or three times the same legend). >From what I understand legend is built by JfreeChart library, taking information from dataset (if dataset includes data for 2 bars A and B, then legend will show A and B). Attached is an exemple of duplicated legend. In this exemple 4 bars types are visible (actual 2005 & 2006, budget 2006 and YTD 2006), with duplication. The version of JfreeChart used is 1.0.1. Thanks in advance for your help / clarification about this subject. Laurent Givaudan. ---------------------------------------------------------------------- >Comment By: David Gilbert (mungady) Date: 2007-01-25 14:25 Message: Logged In: YES user_id=112975 Originator: NO It's probably too late, but... You need to switch the legend flag in the call to createBarChart(...) to false, then create a LegendTitle manually. Use the first renderer as the LegendItemSource, not the plot, then you will only get the items from dataset 1 in your legend. Add the legend to the chart using the addLegend() method (which is just an alias for addSubtitle()). Regards, Dave Gilbert JFreeChart Project Leader ---------------------------------------------------------------------- Comment By: misterblue38 (misterblue38) Date: 2006-10-11 09:12 Message: Logged In: YES user_id=1603182 Hello, Any news regarding this issue? Thanks a lot in advance Laurent ---------------------------------------------------------------------- Comment By: misterblue38 (misterblue38) Date: 2006-09-25 13:09 Message: Logged In: YES user_id=1603182 Hello, Below is a part of the code used to generate graph. There are 2 dataset as you guessed : // name of 3 series to be displayed on graph / legend String sActualYear = "Actual("+sYear+")"; String sActualLastYear = "Actual("+sLastYear+")"; String sYtd = "Year to date ("+sYear+")"; String sBudgt = "Budget ("+sYear+")"; dcDataSetReturn = new DefaultCategoryDataset[2]; dcDataSetReturn[0] = new DefaultCategoryDataset(); dcDataSetReturn[1] = new DefaultCategoryDataset(); dcDataSetReturn[0].addValue(...,sActualLastYear,...); dcDataSetReturn[0].addValue(...,sActualLastYear,...); .... dcDataSetReturn[0].addValue(...,sActualYear,...); dcDataSetReturn[0].addValue(...,sActualYear,...); ... dcDataSetReturn[1].addValue(...,sYtd, ...); dcDataSetReturn[1].addValue(...,sYtd, ...); ... dcDataSetReturn[1].addValue(...,sBudgt , ...); dcDataSetReturn[1].addValue(...,sBudgt , ...); ... JFreeChart chart = ChartFactory.createBarChart( title // chart title "", // domain axis label "Monthly Value", // range axis label dcDataSetReturn[0], // data PlotOrientation.VERTICAL, true, // include // legend true, // tooltips? false // URL generator? Not required... ); CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setDataset(1, dcDataSetReturn[1]); plot.mapDatasetToRangeAxis(1, 1); CategoryAxis domainAxis = plot.getDomainAxis(); domainAxis.setCategoryLabelPositions (CategoryLabelPositions.DOWN_45); final ValueAxis axis2 = new NumberAxis("Yearly Value"); axis2.setAutoRange(true); plot.setRangeAxis(1, axis2); BarRenderer renderer2 = new BarRenderer(); renderer2.setToolTipGenerator(new StandardCategoryToolTipGenerator()); plot.setRenderer(1, renderer2); plot.setDatasetRenderingOrder (DatasetRenderingOrder.FORWARD); ---------------------------------------------------------------------- Comment By: David Gilbert (mungady) Date: 2006-09-25 09:54 Message: Logged In: YES user_id=112975 Can you post the code you use to create the chart? Presumably you have two datasets, one for the monthly figures and one for the yearly figures...maybe there is a way to set up the datasets to avoid the duplication. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115494&aid=1562744&group_id=15494 |