📄 area1.jsp
字号:
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="org.jfree.chart.ChartFactory,
org.jfree.chart.JFreeChart,
org.jfree.chart.servlet.ServletUtilities,
java.awt.*,
org.jfree.chart.axis.*,
org.jfree.chart.plot.CategoryPlot,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.title.TextTitle,
org.jfree.data.category.DefaultCategoryDataset,
org.jfree.ui.*,
org.jfree.util.UnitType"%>
<%
//设置数据集
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
defaultcategorydataset.addValue(1.0D, "序列1", "种类1");
defaultcategorydataset.addValue(4D, "序列1", "种类2");
defaultcategorydataset.addValue(3D, "序列1", "种类3");
defaultcategorydataset.addValue(5D, "序列1", "种类4");
defaultcategorydataset.addValue(5D, "序列1", "种类5");
defaultcategorydataset.addValue(7D, "序列1", "种类6");
defaultcategorydataset.addValue(7D, "序列1", "种类7");
defaultcategorydataset.addValue(8D, "序列1", "种类8");
defaultcategorydataset.addValue(5D, "序列2", "种类1");
defaultcategorydataset.addValue(7D, "序列2", "种类2");
defaultcategorydataset.addValue(6D, "序列2", "种类3");
defaultcategorydataset.addValue(8D, "序列2", "种类4");
defaultcategorydataset.addValue(4D, "序列2", "种类5");
defaultcategorydataset.addValue(4D, "序列2", "种类6");
defaultcategorydataset.addValue(2D, "序列2", "种类7");
defaultcategorydataset.addValue(1.0D, "序列2", "种类8");
defaultcategorydataset.addValue(4D, "序列3", "种类1");
defaultcategorydataset.addValue(3D, "序列3", "种类2");
defaultcategorydataset.addValue(2D, "序列3", "种类3");
defaultcategorydataset.addValue(3D, "序列3", "种类4");
defaultcategorydataset.addValue(6D, "序列3", "种类5");
defaultcategorydataset.addValue(3D, "序列3", "种类6");
defaultcategorydataset.addValue(4D, "序列3", "种类7");
defaultcategorydataset.addValue(3D, "序列3", "种类8");
//创建区域图的JFreeChart对象.
//PlotOrientation.VERTICAL表示将其设置垂直状态的.
JFreeChart jfreechart = ChartFactory.createAreaChart("区域图示例",
"种类",
"数值",
defaultcategorydataset,
PlotOrientation.VERTICAL,
true,
true,
false);
//将底色设置为白色(默认为灰色)
jfreechart.setBackgroundPaint(Color.white);
//设置子标题
TextTitle texttitle = new TextTitle("该例展示了JFreeChart的区域图的使用,我们使用子标题来展示当有一个很长的标题或者子标题时可能会发生什么情况.");
texttitle.setFont(new Font("SansSerif", 0, 12));
texttitle.setPosition(RectangleEdge.TOP);
texttitle.setPadding(new RectangleInsets(UnitType.RELATIVE,
0.05D,
0.05D,
0.05D,
0.05D));
texttitle.setVerticalAlignment(VerticalAlignment.BOTTOM);
jfreechart.addSubtitle(texttitle);
CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
//设置透明度为半透明,当为1时表示不透明.
categoryplot.setForegroundAlpha(0.5F);
categoryplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));
//设置图片的背景色为亮灰色
categoryplot.setBackgroundPaint(Color.lightGray);
//设置图片后的竖虚线为可见状态
categoryplot.setDomainGridlinesVisible(true);
//设置图片后的竖虚线的颜色为白色(默认为亮灰色)
categoryplot.setDomainGridlinePaint(Color.white);
//设置图片后的横虚线为可见状态
categoryplot.setRangeGridlinesVisible(true);
//设置图片后的横虚线的颜色为白色(默认为亮灰色)
categoryplot.setRangeGridlinePaint(Color.white);
CategoryAxis categoryaxis = categoryplot.getDomainAxis();
categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
categoryaxis.setLowerMargin(0.0D);
categoryaxis.setUpperMargin(0.0D);
categoryaxis.addCategoryLabelToolTip("种类1", "第一个种类.");
categoryaxis.addCategoryLabelToolTip("种类2", "第二个种类.");
categoryaxis.addCategoryLabelToolTip("种类3", "第三个种类");
NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
numberaxis.setLabelAngle(0.0D);
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 + -