当前位置:编程学习 > JAVA >>

JFREECHART 时间轴的柱状图显示问题。

现在要生成用DateAxis类型的X轴的XYBarChart,数据是用TimeSeriesCollection 类型设置进去,
但是发现如果用复数个柱状时,不同颜色的柱状重叠在一块了,
不知道谁对该时间轴的柱状图比较清楚,如何解决复数柱状的显示问题。
求指教。贴一部分程序。


    for (int j=0;j<pointData.size();j++){
    PointData  pd = (PointData)pointData.get(j);
    Date keisokuDate = pd.getKeisokuDate();
   
    Double value = null;
    if (pd.getValue() != null && pd.getValue().trim().length() > 0){
    value = Double.parseDouble(pd.getValue());
    }
    if (minute.equals(BEMSConst.MONTH_CYCLE_NUMBER)){
    Month keisokuMonth =  new Month(keisokuDate);
    series.add(keisokuMonth, value);
    } else if (minute.equals(BEMSConst.DAY_CYCLE_NUMBER)) {
    Day keisokuMonth =  new Day(keisokuDate);
    series.add(keisokuMonth, value);
       } else if (minute.equals(BEMSConst.HOUR_CYCLE_NUMBER)) {
       Hour keisokuMonth =  new Hour(keisokuDate);
    series.add(keisokuMonth, value);
       } else {
       Minute keisokuMinute = new Minute(keisokuDate);
    series.add(keisokuMinute, value);
    }
    }
dsTS[DSno].addSeries(series);


JFreeChart chart = ChartFactory.createXYBarChart(
graphName,
         XLabel,
                true, // dateAxis?
                "",
                (IntervalXYDataset)dsTS[0],
                PlotOrientation.VERTICAL,
                true,
                true,
                false); --------------------编程问答-------------------- --------------------编程问答-------------------- 没有人知道吗? 求救!!!!!!!! --------------------编程问答-------------------- 你确定keisokuMonth这个值不是相同的 或者相差不大? --------------------编程问答--------------------
引用 3 楼 nj_link 的回复:
你确定keisokuMonth这个值不是相同的 或者相差不大?

两个颜色的柱状中,有相同的keisokuMonth值,想让它分别列出来,
keisokuMonth值相同他就重叠在一块了,有别离显示的办法吗? --------------------编程问答-------------------- 没有人知道吗 --------------------编程问答-------------------- 除了将x轴拉大外,个人建议将createBarChart3D()替换为方法createStackedBarChart3D(),适合于图例和分类相对较多的情况 --------------------编程问答-------------------- createStackedBarChart3D 是两个分类重叠出来柱状图,现在用的是createXYBarChart,
希望要表示的是两个分类用两种颜色的单独的分离的柱状图显示,并不是重叠在一起的.
现在的状态是两种分类的柱状图X轴值相同时重叠在一起,而且并没有叠加,而且就算把图拉大,
x轴拉大也没用.
如何能解决这问题,让两种分类的柱状图X轴值相同时分离显示 --------------------编程问答-------------------- 有人知道吗 --------------------编程问答-------------------- renderer = (XXX)plot.getRenderer();
renderer.setItemMargin(0.2D); //设置每个柱子之间的距离
plot.setRenderer(1, renderer); --------------------编程问答--------------------
引用 9 楼 qustgjk 的回复:
renderer = (XXX)plot.getRenderer();
renderer.setItemMargin(0.2D); //设置每个柱子之间的距离
plot.setRenderer(1, renderer);


已经设置了 --------------------编程问答-------------------- 没有人知道吗? --------------------编程问答-------------------- 没有用过jfreechart 我用过chartdirector --------------------编程问答-------------------- 你有解决没,我现在有你同样的问题,求帮助。 --------------------编程问答-------------------- 我也是碰到同样问题;
加上一下内容就好了:: 
ClusteredXYBarRenderer r = new ClusteredXYBarRenderer();
chart.getXYPlot().setRenderer(r); --------------------编程问答-------------------- 如果现实不下就会重叠,可以自己写代码稀释一下,每隔x时长显示一个点。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,