⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dualaxis.jsp

📁 JFreeChart开发全攻略,JFreeChart开发全攻略
💻 JSP
字号:
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page import = "org.jfree.chart.ChartFactory,
				org.jfree.chart.JFreeChart,
				org.jfree.chart.servlet.ServletUtilities,
				org.jfree.chart.plot.PlotOrientation,
				java.awt.Color,
				org.jfree.chart.axis.*,
				org.jfree.chart.block.*,
				org.jfree.chart.labels.StandardCategoryToolTipGenerator,
				org.jfree.chart.plot.*,
				org.jfree.chart.renderer.category.LineAndShapeRenderer,
				org.jfree.chart.title.CompositeTitle,
				org.jfree.chart.title.LegendTitle,
				org.jfree.data.category.CategoryDataset,
				org.jfree.data.category.DefaultCategoryDataset,
				org.jfree.ui.*"%>
				
<%
//构造数据集1
String s = "全职收入";
String s1 = "兼职收入";

String s3 = "张三";
String s4 = "李四";
String s5 = "王五";
String s6 = "刘六";
String s7 = "谢七";
String s8 = "朱八";
String s9 = "陈九";
String s10 = "周十";
DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();
dataset1.addValue(2000, s, s3);
dataset1.addValue(2500, s, s4);
dataset1.addValue(1500, s, s5);
dataset1.addValue(3000, s, s6);
dataset1.addValue(2800, s, s7);
dataset1.addValue(3300, s, s8);
dataset1.addValue(3500, s, s9);
dataset1.addValue(2500, s, s10);

dataset1.addValue(1000, s1, s3);
dataset1.addValue(800, s1, s4);
dataset1.addValue(600, s1, s5);
dataset1.addValue(700, s1, s6);
dataset1.addValue(750, s1, s7);
dataset1.addValue(850, s1, s8);
dataset1.addValue(1200, s1, s9);
dataset1.addValue(900, s1, s10);

//构造数据集2
String name = "支出";
DefaultCategoryDataset dataset2 = new DefaultCategoryDataset();
dataset2.addValue(1500, name, s3);
dataset2.addValue(1600, name, s4);
dataset2.addValue(1200, name, s5);
dataset2.addValue(2000, name, s6);
dataset2.addValue(2200, name, s7);
dataset2.addValue(2500, name, s8);
dataset2.addValue(3000, name, s9);
dataset2.addValue(2000, name, s10);

//创建图形对象
JFreeChart jfreechart = ChartFactory.createBarChart("双轴图形",
					"姓名",
					"收入值",
					dataset1,
					PlotOrientation.VERTICAL,
					false,
					true,
					false);
jfreechart.setBackgroundPaint(Color.white);
CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
categoryplot.setBackgroundPaint(new Color(238, 238, 255));
categoryplot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
CategoryDataset categorydataset = dataset2;
categoryplot.setDataset(1, categorydataset);
categoryplot.mapDatasetToRangeAxis(1, 1);
CategoryAxis categoryaxis = categoryplot.getDomainAxis();
categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45);
NumberAxis numberaxis = new NumberAxis("支出值");
categoryplot.setRangeAxis(1, numberaxis);
LineAndShapeRenderer lineandshaperenderer = new LineAndShapeRenderer();
lineandshaperenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());
categoryplot.setRenderer(1, lineandshaperenderer);
categoryplot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
LegendTitle legendtitle = new LegendTitle(categoryplot.getRenderer(0));
legendtitle.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
legendtitle.setFrame(new BlockBorder());
LegendTitle legendtitle1 = new LegendTitle(categoryplot.getRenderer(1));
legendtitle1.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
legendtitle1.setFrame(new BlockBorder());
BlockContainer blockcontainer = new BlockContainer(new BorderArrangement());
blockcontainer.add(legendtitle, RectangleEdge.LEFT);
blockcontainer.add(legendtitle1, RectangleEdge.RIGHT);
blockcontainer.add(new EmptyBlock(2000D, 0.0D));
CompositeTitle compositetitle = new CompositeTitle(blockcontainer);
compositetitle.setPosition(RectangleEdge.BOTTOM);
jfreechart.addSubtitle(compositetitle);
		
String filename = ServletUtilities.saveChartAsPNG(jfreechart, 600, 400, null, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
%>
<img src="<%= graphURL %>" width="600" height="400" border="0" usemap="#<%= filename %>">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -