代码如下:
通过那里设置可以把柱体的宽度设置大一些.
谢谢拉import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.Legend;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.labels.StandardCategoryLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;public class jFreeChartExample {
  
    public static void main(String[] args) throws IOException{
        JFreeChart chart=ChartFactory.createBarChart(
                "2001-2007",
                "",//目录轴的显示标签
                "股票家数",//数值轴的显示标签
                getDataSet(),
                PlotOrientation.VERTICAL,//设置图表方向
                true,//复杂柱状图
                false,
                false        
        );
        //取得统计图表的第一个图例
        Legend legend =chart.getLegend();
        
        BarRenderer renderer = new BarRenderer();
    
renderer = new org.jfree.chart.renderer.category.BarRenderer();
renderer.setBaseOutlinePaint(Color.red);
renderer.setMaxBarWidth(1000);
renderer.setMinimumBarLength(1000); renderer.setSeriesPaint(0, new Color(0, 255, 0), true);//实报柱子的颜色为绿色 
renderer.setSeriesOutlinePaint(100, Color.red);//边框为红色 renderer.setSeriesPaint(1, new Color(255, 0, 0), true);//实报柱子的颜色为绿色 
renderer.setSeriesOutlinePaint(100, Color.red);//边框为红色
renderer.setItemMargin(0.0001);//组内柱子间隔为组宽的10% renderer.setLabelGenerator(new StandardCategoryLabelGenerator());
renderer.setItemLabelFont(new Font("黑体", Font.PLAIN, 12));//12号黑体加粗
renderer.setItemLabelPaint(Color.black);//字体为黑色
renderer.setItemLabelsVisible(true); CategoryPlot plot=(CategoryPlot)chart.getPlot();
plot.setRenderer(renderer);

//        
//        BarRenderer3D renderer = new BarRenderer3D(); 
//  
//        renderer.setLabelGenerator(new StandardCategoryLabelGenerator());   
//        renderer.setItemLabelFont(new Font("宋体",Font.PLAIN,12));   
//        renderer.setItemLabelsVisible(true);//显示每个柱子上的数据   
//        renderer.setMinimumBarLength(1.0); 
//
//       renderer.setItemLabelsVisible(true); 
//                
//        //设置标题
//        chart.setTitle(new TextTitle("股票收益情况统计分析图,时间(2001-2007)",new Font("黑体",Font.PLAIN,22)));
//        //设置图表部分
//        CategoryPlot plot=(CategoryPlot)chart.getPlot();
//        plot.setRenderer(renderer);
      
        CategoryAxis categoryAxis=plot.getDomainAxis();//取得横轴
        categoryAxis.setLabelFont(new Font("宋体",Font.PLAIN,14));//设置横轴显示标签的字体
        categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);//分类标签以45度倾斜
        categoryAxis.setTickLabelFont(new Font("宋体",Font.PLAIN,15));//分类标签字体
        NumberAxis numberAxis=(NumberAxis)plot.getRangeAxis();//取得纵轴
        numberAxis.setLabelFont(new Font("宋体",Font.BOLD,17));//设置纵轴显示标签字体
        FileOutputStream fos=null;
        fos=new FileOutputStream("d:\\pic_test.jpg");
        ChartUtilities.writeChartAsJPEG(
                fos,
                1,
                chart,
                1400,
                900,
                null
        
        );
        fos.close();
    }
    private static CategoryDataset getDataSet(){
        
       DefaultCategoryDataset dataset=new DefaultCategoryDataset();
         dataset.addValue(12,"a", "-300%以上");
         dataset.addValue(15,"a","-300%");
         dataset.addValue(26, "a", "-200%");
         dataset.addValue(36, "a", "-150%");
         dataset.addValue(78,"a","-120%");
         dataset.addValue(51, "a", "-100%");
         dataset.addValue(268, "a", "-90%");
         dataset.addValue(241, "a", "-80%");
         dataset.addValue(129, "a", "-70%");
         dataset.addValue(65, "a", "-60%");
         dataset.addValue(368, "a", "-50%");
         dataset.addValue(269, "a", "-40%");
         dataset.addValue(354, "a", "-30%");
         dataset.addValue(362, "a", "-20%");
         dataset.addValue(82, "a", "-10%");        
         
         dataset.addValue(null,"a", "0%");
         dataset.addValue(500,"b", "10%");
         dataset.addValue(800,"b","20%");
         dataset.addValue(800,"b","30%");
         dataset.addValue(360, "b", "40%");        
         dataset.addValue(780,"b","50%");
         dataset.addValue(96, "b", "60%");
         dataset.addValue(156, "b", "70%");
         dataset.addValue(87,"b","80%");
         dataset.addValue(87,"b","90%");
         dataset.addValue(87,"b","100%");
         dataset.addValue(56, "b", "120%");
         dataset.addValue(56, "b", "150%");
         dataset.addValue(32, "b", "200%");
         dataset.addValue(32, "b", "300%");
         dataset.addValue(18,"b", "300%以上");        
        
        return dataset;        
    }
}
 

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【weichenggao】截止到2008-07-09 14:35:39的历史汇总数据(不包括此帖):
    发帖的总数量:11                       发帖的总分数:1540                     每贴平均分数:140                      
    回帖的总数量:105                      得分贴总数量:69                       回帖的得分率:65%                      
    结贴的总数量:9                        结贴的总分数:1140                     
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:2                        未结的总分数:400                      
    结贴的百分比:81.82 %               结分的百分比:74.03 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    楼主加油
      

  2.   

    没试过。。
    我swing开发都是在netbeans做的。。你是的吗?。。一般界面问题在netbeans中都能搞定的(拖拽)
      

  3.   

      dataset.addValue(12,"a", "-300%以上"); 
     把 这个添加 值 去掉 其中一个参数 马上就能看出 宽了许多