JFreechart 时序图 显示x轴数据 横轴数据显示

关键代码 其中标红部分为横轴数据显示方法

public JFreeChart creatXYChart(String cdzid,String tgtime) {
  Cdz cdz=super.get(Cdz.class, cdzid);
  if(tgtime!=null&&!("".equals(tgtime))){
   ntime=tgtime;
  }
  getDataSet(cdzid,tgtime);
  if(cdz==null)
   cdz=new Cdz();
  JFreeChart chart = ChartFactory
    .createTimeSeriesChart(cdz.getName()+"  "+ntime, // 图表标题
      "时间", // 目录轴的显示标签
      "忙闲状态(1-忙碌,2-一般,3-空闲)", // 数值轴的显示标签
      getDataSet(cdzid,tgtime), // 数据集
      false, // 是否显示图例(对于简单的柱状图必须是false)
      true, // 是否生成工具
      true // 是否生成URL链接
    );
  chart.setTextAntiAlias(false);
  chart.setBackgroundPaint(java.awt.Color.WHITE);
      XYPlot plot = (XYPlot) chart.getPlot();
      plot.setBackgroundPaint(Color.WHITE);
      plot.setRangeGridlinesVisible(true);
      plot.setRangeGridlinePaint(Color.LIGHT_GRAY);// 虚线色彩
      org.jfree.chart.renderer.xy.XYItemRenderer xyitemrenderer = plot.getRenderer();
         if(xyitemrenderer instanceof XYLineAndShapeRenderer)
         {//显示节点
             XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer)xyitemrenderer;
             xylineandshaperenderer.setBaseShapesVisible(true);
             xylineandshaperenderer.setBaseShapesFilled(true);
            
         }
         XYItemRenderer xyitem = plot.getRenderer();
       
         xyitem.setBaseItemLabelsVisible(true);
         xyitem.setBasePositiveItemLabelPosition((new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.BASELINE_CENTER)));
         DecimalFormat decimalformat1 = new DecimalFormat("##.##");//数据点显示数据值的格式
         java.text.DateFormat format1 = new java.text.SimpleDateFormat("HH:mm");
         //下面三句是对设置折线图数据标示的关键代码

   //      xyitem.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator());// 显示y轴数据 纵轴数据显示
         xyitem.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator("{1}", format1,decimalformat1));// 显示x轴数据 横轴数据显示
         xyitem.setBaseItemLabelFont(new Font("Dialog", 1, 14));
         plot.setRenderer(xyitem);
        
        
         plot.setNoDataMessage("暂 无 数 据");
      NumberAxis numAxis = (NumberAxis)plot.getRangeAxis();
   
    //设置y显示方式
      numAxis.setAutoTickUnitSelection(false);//数据轴的数据标签是否自动确定
      double  rangetick = 1D;
       numAxis.setTickUnit(new NumberTickUnit(rangetick));  //y轴单位间隔为0.1
       numAxis.setAutoRangeIncludesZero(true);
     //设置x轴显示方式
       DateAxis  dateaxis =   (DateAxis)plot.getDomainAxis();
       SimpleDateFormat format = new SimpleDateFormat("HH:mm");
       dateaxis.setDateFormatOverride(format);//设置x轴数据单位以×月×日方式显示
      
       XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer)plot.getRenderer();
          //设置曲线是否显示数据点
          xylineandshaperenderer.setBaseShapesVisible(true);
       return chart;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值