JFreeChart学习折线图

@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;
 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值