如何解决JFreeChart堆叠水平条形图中的错误
为什么要这段代码:
DefaultCategoryDataset datasetE = new DefaultCategoryDataset();
datasetE.addValue(0.5,"HOLDING","NOME 1");
datasetE.addValue(0.7,"NOME 2");
datasetE.addValue(0.1,"HEATING","NOME 3");
datasetE.addValue(0.5,"NOME 4");
datasetE.addValue(0.8,"NOME 5");
JFreeChart jfreechart = ChartFactory.createStackedBarChart("Stacked Bar Chart Demo 1","Category","Value",datasetE,PlotOrientation.VERTICAL,true,false);
jfreechart.setBackgroundPaint(Color.white);
CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
categoryplot.setBackgroundPaint(Color.lightGray);
categoryplot.setRangeGridlinePaint(Color.white);
StackedBarRenderer stackedbarrenderer = (StackedBarRenderer)categoryplot.getRenderer();
stackedbarrenderer.setSeriesItemLabelGenerator(0,new StandardCategoryItemLabelGenerator());
stackedbarrenderer.setSeriesVisible(0,true);
ChartPanel CPProgesterona = new ChartPanel(jfreechart,400,80,false,false); panel2.add(CPProgesterona,BorderLayout.NORTH);
返回此:
解决方法
您的数据集有两个系列,每个系列都有一个不同的行键;但它有五个不同的类别,每个类别都有五个不同的列键之一。您可能想要两个系列,每个每个具有自己的一组不同的列键。
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(0.5,"HOLDING","NAME 1");
dataset.addValue(0.7,"NAME 2");
dataset.addValue(0.1,"HEATING","NAME 1");
dataset.addValue(0.5,"NAME 2");
dataset.addValue(0.8,"NAME 3");
JFreeChart jfreechart = ChartFactory.createStackedBarChart(
"Stacked Bar Chart","Category","Value",dataset,PlotOrientation.HORIZONTAL,true,false);
CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
categoryplot.setBackgroundPaint(Color.lightGray);
categoryplot.setRangeGridlinePaint(Color.white);
StackedBarRenderer stackedbarrenderer = (StackedBarRenderer) categoryplot.getRenderer();
stackedbarrenderer.setDefaultItemLabelGenerator(new StandardCategoryItemLabelGenerator());
stackedbarrenderer.setDefaultItemLabelsVisible(true);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。