如果X轴的某个值为 0 就不显示出来,而不是绘0。
(比如:我要提取一年十二个月的数据,
1--6月有数据我就会显示出1---6月的曲线,7---12月的数据为0,
则7----12个月的曲线就不显示。)如何实现??? 在线等,
请那位高手告诉我一下,
在下蒋感激不尽

解决方案 »

  1.   

    如果只有后面的为0,那就不要把值往DefaultCategoryDataset加,
    但是有一点,如果记录中穿插有0出现,如果你不连线就不对了,你可以用柱状图显示,根本就不要判断是否为0,只要往里面加数据就行
      

  2.   

    请问:
    zxm_dgcstars() 
    我使用的是TimeSeries 时间曲线,
    TimeSeries.add(minute,value[i][j])其中minute是时间,value]i][j]是一个float型
      

  3.   

    我以为你是用LineAndShapeRenderer来画曲线图,TimeSeries 时间曲线我没做过,不过我可以去看看源码
      

  4.   

    你自己判断是0就不要执行TimeSeries.add不就可以了
      

  5.   

    你调用的是
        public void add(RegularTimePeriod period, double value)
        {
            TimeSeriesDataItem item = new TimeSeriesDataItem(period, value);
            add(item);
        }我建议你反编译后去看他的源码,我学JFreeChart也是这样的。
    不过我用的版本是jfreechart-1.0.0-rc1.jar,不知道跟你是不是一样,jfreechart的版本很多版本,版本不一样,有些函数改动了
      

  6.   

    既然是线的话,如果是1-4月份有数据,5、6月份没有数据,7、8、9又有数据了,怎么办?
    如果你判断到5、6月份数据为0而不添加到TimeSeries里面的话,那么1-4月份的数据就和7-9月份的数据相连了。这样就是不合逻辑的啊。
    为什么不要显示?说说你的需求吧。
      

  7.   

    回zxm_dgcstars
    谢谢,
    我试一下
      

  8.   

    如果这样的话,可以建议设置多个TimeSeries对象。显示在同一张表上。
      

  9.   

    我使用了这种方法:
    if(value[i][j] == 0.0){
      TimeSeries.add(minute,null)
    }else{
      TimeSeries.add(minute,value[i][j])
    }
    这样也不行,
    因为他不会把这点绘出来。
      

  10.   

    问题已经解决了,
    这种方法是对的:if(value[i][j] == 0.0){
      TimeSeries.add(minute,null)
    }else{
      TimeSeries.add(minute,value[i][j])
    }
      

  11.   

    to lz:这种方法真的可以?
    if(value[i][j] == 0.0){
      TimeSeries.add(minute,null)
    }else{
      TimeSeries.add(minute,value[i][j])
    }
    学习了,呵呵!