现在要生成用DateAxis类型的X轴的XYBarChart,数据是用TimeSeriesCollection 类型设置进去,
但是发现如果用复数个柱状时,不同颜色的柱状重叠在一块了,
不知道谁对该时间轴的柱状图比较清楚,如何解决复数柱状的显示问题。
求指教 .
Some code is as below:    public static String createBarChart(XYDataset dataset, String xName,
           String yName, String chartTitle, String charName, Double days) {
       JFreeChart chart = ChartFactory.createXYBarChart(chartTitle, xName,
              true, yName, (IntervalXYDataset) dataset,
              PlotOrientation.VERTICAL, true, false, false);
       XYPlot xyplot = (XYPlot) chart.getPlot();
       // Set the chart data part of the background color
       xyplot.setBackgroundPaint(Color.lightGray);
       // Set axes and chart data show some distance
       xyplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));
       // Vertical grid line color
       xyplot.setDomainGridlinePaint(Color.white);
       // Horizontal grid line color
       xyplot.setRangeGridlinePaint(Color.white);
       // Data points can be seen
       XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer) xyplot
              .getRenderer();
       xylineandshaperenderer.setBaseShapesVisible(true);
       xylineandshaperenderer.setUseFillPaint(true);
       // y-axis
       NumberAxis numAxis = (NumberAxis) xyplot.getRangeAxis();
       // x-axis
       DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis();
       // y-axis labels are automatically determines the data
       numAxis.setAutoTickUnitSelection(true);
       // x-axis labels are automatically determines the data
       dateaxis.setAutoTickUnitSelection(false);
       SimpleDateFormat format;
       if (0 < days && days < 2) {
           if (0 < days && days < 1.125)
              // x-axis unit interval is 1 hour
              dateaxis.setTickUnit(new DateTickUnit(DateTickUnitType.HOUR, 1));
           if (1.125 <= days && days < 2)
              // x-axis unit interval is 2 hours
              dateaxis.setTickUnit(new DateTickUnit(DateTickUnitType.HOUR, 2));
           format = new SimpleDateFormat("hh:mm");
       } else {
           if (2 <= days && days < 14)
              // x-axis unit interval is 1 day
              dateaxis.setTickUnit(new DateTickUnit(DateTickUnitType.HOUR, 24));
           if (14 <= days && days < 61)
              // x-axis unit interval is 1 week
              dateaxis.setTickUnit(new DateTickUnit(DateTickUnitType.HOUR,
                     24 * 7));
           if (61 <= days)
              // x-axis unit interval is 1 month
              dateaxis.setTickUnit(new DateTickUnit(DateTickUnitType.HOUR,
                     24 * 30));
           format = new SimpleDateFormat("yyyy-MM-dd");
       }
       dateaxis.setDateFormatOverride(format);
       FileOutputStream fos_jpg = null;
       try {
           isChartPathExist(CHART_PATH);
           String chartName = CHART_PATH + charName;
           fos_jpg = new FileOutputStream(chartName);
           ChartUtilities.writeChartAsJPEG(fos_jpg, chart, 1024, 800);
           return chartName;
       } catch (Exception e) {
           e.printStackTrace();
           return null;
       } finally {
           try {
              fos_jpg.close();
           } catch (Exception e) {
              e.printStackTrace();
           }
       }
    }