这里有篇文章,介绍得挺详细,参考一下。http://www-900.ibm.com/developerWorks/cn/java/l-jfreechart/

解决方案 »

  1.   

    to: trumplet(检查)
    这个我以前看过了,他这里时饼图的,我查了一下doc,柱状图就没有那两个函数,本来想模仿一下的
      

  2.   

    给你一个例子,我在jbuilder里可以正常运行。代码太长,分两次发。import java.awt.*;
    import javax.swing.JPanel;
    import org.jfree.chart.*;
    import org.jfree.chart.axis.*;
    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;
    import org.jfree.ui.ApplicationFrame;
    import org.jfree.ui.RefineryUtilities;public class BarChartDemo1 extends ApplicationFrame
    {    public BarChartDemo1(String s)
        {
            super(s);
            CategoryDataset categorydataset = createDataset();
            JFreeChart jfreechart = createChart(categorydataset);
            ChartPanel chartpanel = new ChartPanel(jfreechart);
            chartpanel.setPreferredSize(new Dimension(500, 270));
            setContentPane(chartpanel);
        }    private static CategoryDataset createDataset()
        {
            String s = "First";
            String s1 = "Second";
            String s2 = "Third";
            String s3 = "Category 1";
            String s4 = "Category 2";
            String s5 = "Category 3";
            String s6 = "Category 4";
            String s7 = "Category 5";
            DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
            defaultcategorydataset.addValue(1.0D, s, s3);
            defaultcategorydataset.addValue(4D, s, s4);
            defaultcategorydataset.addValue(3D, s, s5);
            defaultcategorydataset.addValue(5D, s, s6);
            defaultcategorydataset.addValue(5D, s, s7);
            defaultcategorydataset.addValue(5D, s1, s3);
            defaultcategorydataset.addValue(7D, s1, s4);
            defaultcategorydataset.addValue(6D, s1, s5);
            defaultcategorydataset.addValue(8D, s1, s6);
            defaultcategorydataset.addValue(4D, s1, s7);
            defaultcategorydataset.addValue(4D, s2, s3);
            defaultcategorydataset.addValue(3D, s2, s4);
            defaultcategorydataset.addValue(2D, s2, s5);
            defaultcategorydataset.addValue(3D, s2, s6);
            defaultcategorydataset.addValue(6D, s2, s7);
            return defaultcategorydataset;
        }
      

  3.   

    //接上    private static JFreeChart createChart(CategoryDataset categorydataset)
        {
            JFreeChart jfreechart = ChartFactory.createBarChart("Bar Chart Demo", "Category", "Value", categorydataset, PlotOrientation.VERTICAL, true, true, false);
            jfreechart.setBackgroundPaint(Color.white);
            CategoryPlot categoryplot = jfreechart.getCategoryPlot();
            categoryplot.setBackgroundPaint(Color.lightGray);
            categoryplot.setDomainGridlinePaint(Color.white);
            categoryplot.setDomainGridlinesVisible(true);
            categoryplot.setRangeGridlinePaint(Color.white);
            NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
            numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
            BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer();
            barrenderer.setDrawBarOutline(false);
            GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue, 0.0F, 0.0F, new Color(0, 0, 64));
            GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.green, 0.0F, 0.0F, new Color(0, 64, 0));
            GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, Color.red, 0.0F, 0.0F, new Color(64, 0, 0));
            barrenderer.setSeriesPaint(0, gradientpaint);
            barrenderer.setSeriesPaint(1, gradientpaint1);
            barrenderer.setSeriesPaint(2, gradientpaint2);
            CategoryAxis categoryaxis = categoryplot.getDomainAxis();
            categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(0.52359877559829882D));
            return jfreechart;
        }    public static JPanel createDemoPanel()
        {
            JFreeChart jfreechart = createChart(createDataset());
            return new ChartPanel(jfreechart);
        }    public static String getDemoDescription()
        {
            return "A bar chart.";
        }    public static void main(String args[])
        {
            BarChartDemo1 barchartdemo1 = new BarChartDemo1("Bar Chart Demo");
            barchartdemo1.pack();
            RefineryUtilities.centerFrameOnScreen(barchartdemo1);
            barchartdemo1.setVisible(true);
        }
    }
      

  4.   

    trumplet(检查):非常感谢您的热心,可是我没有找到你哪里实现了Map的东西,你生成的柱状图,用户点击某个柱,会产生动作吗(提示和url链接)
      

  5.   

    不好意思,我没明白你的意思。又看了看www-900.ibm.com的那篇文章,又看了看API,
    也许应该用org.jfree.chart.renderer.category.Class BarRenderer类(BraRenderer)jfreechart.getCategoryPlot.getRenderer();我没有具体用过jfreechart,瞎猜吧。
      

  6.   

    org.jfree.chart.renderer.category.BarRenderer