日期:2014-05-17  浏览次数:20682 次

关于JFreeChart中混合图显示的问题,也许这个你还真不知道怎么做了
JSP的项目,只用了Spring框架,用JFreeChart做报表,现在报表是这个样子的:
柱状图和折线图的混合图,
柱状图:
只有有两根柱子,分别代表任意的两个月,比如:4月==4540496,6月==3140496
折线图:
有两条折线图,分别代表这两个月里的周的趋势,比如:4月有5周(不足5周按5周算),那这条线就有5个点,每个点的值都不一定相同的,而且!重点是:柱子的宽度足够,两条折线图要分别显示在两个柱子里面!
很纠结了,柱状图和折线图的横坐标不一样,横坐标也不能交替显示,柱状图的横坐标在前面,折线图的在后面。比如:"4月, 5月, 4月第1周, 4月第2周, 4月第3周, 4月第4周, 4月第5周, ......"
我想把柱状图的横坐标隐藏掉,只显示折线图的横坐标,怎么隐藏呢?

------解决方案--------------------
自己写一个都比使用控件方便。
------解决方案--------------------
我们以前做过的,可以参考参考
Java code

JFreeChart viewBarChart2 = createBarChart2();
        final ChartComposite frame_4 = new ChartComposite(composite, SWT.NONE, viewBarChart2, true);
JFreeChart chart = ChartFactory.createBarChart3D("分布图", "月份", "销量", dataset, PlotOrientation.VERTICAL, false, true, true);
        CategoryPlot plot = chart.getCategoryPlot();// 获得图表对象

        Font font = new Font("黑体", Font.BOLD, 15);
        // 画折线图

        LineAndShapeRenderer line = new LineAndShapeRenderer();
        line.setSeriesPaint(0, Color.YELLOW);
        line.setToolTipGenerator(new StandardCategoryToolTipGenerator());
        plot.setRenderer(0, line);

        // 画柱状图
        plot.setDataset(1, dataset);
        StackedBarRenderer3D bar = new StackedBarRenderer3D();
        bar.setSeriesPaint(0, Color.GREEN);
        bar.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
        plot.setRenderer(1, bar);
        
        plot.setForegroundAlpha(0.5f);
        chart.getTitle().setFont(font);