I used JFreeChart, do chart output , there is a double Y axis needs get out.
code on the left Y-axis shows the normal discount .
right Y-axis have been out , but the data do not increase, the sample Web package downloaded from here ( under tomcat to run )
http://218.26.94.139/webroot.rar
the Web package configuration to Tomcat to run directly index.jsp be able to show a line chart , but no I want the first two Y-axis line chart.
Please understand that JFreeChart the boss to look at is the Editor .
/ / Here is the code
DefaultCategoryDataset dataset = new DefaultCategoryDataset ();
dataset.addValue (610, "GuangZhou", "2013-01");
dataset.addValue (220, "GuangZhou", "2013-02");
dataset.addValue (300, "GuangZhou", "2013-03");
dataset.addValue (340, "GuangZhou", "2013-04");
dataset.addValue (640, "GuangZhou", "2013-05");
dataset.addValue (540, "GuangZhou", "2013-06");
/ *
dataset.addValue (810, "ShangHai", "2013-01");
dataset.addValue (420, "ShangHai", "2013-02");
dataset.addValue (350, "ShangHai", "2013-03");
dataset.addValue (500, "ShangHai", "2013-04");
dataset.addValue (450, "ShangHai", "2013-05");
dataset.addValue (700, "ShangHai", "2013-06");
* /
DefaultCategoryDataset dataset2 = new DefaultCategoryDataset ();
dataset2.addValue (0.1, "A", "2013-01");
dataset2.addValue (0.2, "A", "2013-02");
dataset2.addValue (0.3, "A", "2013-03");
dataset2.addValue (0.2, "A", "2013-09");
dataset2.addValue (0.6, "A", "2013-10");
dataset2.addValue (0.4, "A", "2013-11");
/ *
dataset2.addValue (0.810, "B", "2013-01");
dataset2.addValue (0.420, "B", "2013-02");
dataset2.addValue (0.350, "B", "2013-03");
dataset2.addValue (0.500, "B", "2013-09");
dataset2.addValue (0.450, "B", "2013-10");
dataset2.addValue (0.700, "B", "2013-12");
* /
JFreeChart chart = ChartFactory.createLineChart ("MEAT Sell",
"Meat",
"Y1",
dataset,
PlotOrientation.VERTICAL,
true, / / bottom is displayed GuangZhou, ShangHai 's theme
false,
false);
CategoryPlot plot = chart.getCategoryPlot ();
/ / Y2 -axis settings
NumberAxis numberaxis2 = new NumberAxis ("Y2");
plot.setRangeAxis (1, numberaxis2);
plot.setDataset (1, dataset2);
plot.mapDatasetToRangeAxis (1, 1);
ChartUtilities.writeChartAsPNG (response.getOutputStream (), chart, 900, 600) ;/ / output image streams directly
------ Solution --------- -----------------------------------
NumberAxis numberaxis2 = new NumberAxis (" ; Y2 ");
plot.setRangeAxis (1, numberaxis2);
plot.setDataset (1, dataset2);
plot.mapDatasetToRangeAxis (1, 1);
this second Y axis , can you ? ? ?
------ For reference only -------------------------------------- -
behind the increase
CategoryItemRenderer renderer2 = new LineAndShapeRenderer ();
plot.setRenderer (1, renderer2);
like
没有评论:
发表评论