@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("image/png");
CategoryDataset dataset = createDataset();
//设置主题
StandardChartTheme theme = new StandardChartTheme("CN");
//设置标题字体
theme.setExtraLargeFont(new Font("宋体",Font.BOLD,20));
//设置轴说明
theme.setLargeFont(new Font("宋体",Font.PLAIN,14));
theme.setRegularFont(new Font("宋体",Font.ITALIC,12));
ChartFactory.setChartTheme(theme);
JFreeChart jFreeChart = ChartFactory.createLineChart("2008年图书销售统计", "销量",
"月份", dataset, PlotOrientation.VERTICAL, false, false, false);
TextTitle textTitle = new TextTitle("日期"+new SimpleDateFormat("yyyy-mm-dd").format(new Date()));
//设置标题向下对齐
textTitle.setPosition(RectangleEdge.BOTTOM);
//设置标题向由对齐
textTitle.setHorizontalAlignment(HorizontalAlignment.RIGHT);
//设置子标题
jFreeChart.addSubtitle(textTitle);
jFreeChart.setBackgroundPaint(Color.GRAY);
CategoryPlot categoryPlot = (CategoryPlot) jFreeChart.getPlot();
categoryPlot.setBackgroundPaint(Color.DARK_GRAY);
categoryPlot.setNoDataMessage("没有相关数据");//没有数据时显示的消息
categoryPlot.setRangeGridlinesVisible(true);//
//获取设置线条对象
LineAndShapeRenderer lineAndShapeRenderer = (LineAndShapeRenderer) categoryPlot.getRenderer();
lineAndShapeRenderer.setBaseShapesVisible(true);
lineAndShapeRenderer.setBaseLinesVisible(true); // series 点(即数据点)间有连线可见lineAndShapeRenderer.setUseFillPaint(true);
lineAndShapeRenderer.setBaseFillPaint(Color.CYAN);
//设置折线加粗
lineAndShapeRenderer.setSeriesStroke(0, new BasicStroke(3F));
lineAndShapeRenderer.setSeriesOutlineStroke(0, new BasicStroke(2.0F));
//设置折线拐点
lineAndShapeRenderer.setSeriesShape(0, new Ellipse2D.Double(-5D,-5D,10D,10D));
//输出客户端
ChartUtilities.writeChartAsPNG(resp.getOutputStream(), jFreeChart, 500, 700);
}private CategoryDataset createDataset() {
DefaultCategoryDataset defaultDataset = new DefaultCategoryDataset();
for(int i = 1;i<=12;i++){
defaultDataset.addValue(DataUtils.getRandomNumber(), "JAVA", i+"月");
defaultDataset.addValue(DataUtils.getRandomNumber(), "PHP", i+"月");
}
return defaultDataset;
}
JFreeChart学习折线图
最新推荐文章于 2023-03-03 15:28:46 发布