请问jfreechart图表中饼图可以显示数字吗?而不是百分比.柱状图,曲线图数据都可以显示数字.

解决方案 »

  1.   

    可以的PieSectionLabelGenerator generator = new StandardPieItemLabelGenerator(
            "{2}", new DecimalFormat("0"), new DecimalFormat("0.00%"));其中{0}{1}{2}分别代表不同的现实方式,可以同时显示出来,具体各自表示什么忘记了。
      

  2.   

    plot.setLegendLabelGenerator(new StandardPieItemLabelGenerator("{0});可以!
      

  3.   

    plot.setLegendLabelGenerator(new StandardPieItemLabelGenerator("{0});可以!这个行不通啊.
      

  4.   

    他一般不设置格式的时候默认就显示的是每一块的数值哦;
    我在网上给你找了一个例子:
    package tracy.test;
    import java.io.FileNotFoundException;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.data.general.DefaultPieDataset;
    public class PieChart {
    public void drawToFile(){//设置数据集DefaultPieDataset dataset = new DefaultPieDataset();dataset.setValue("冰箱", 1800);dataset.setValue("电视", 1600);dataset.setValue("空调", 3300);dataset.setValue("洗衣机", 2000);dataset.setValue("DVD", 400);//通过工厂类生成JFreeChart对象JFreeChart chart = ChartFactory.createPieChart3D("家电投资比例示意图", dataset, true, false, false);//写图表对象到文件FileOutputStream fos_jpg = null;try {fos_jpg = new FileOutputStream("D:pi.jpg");ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,400,300,null);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {fos_jpg.close();} catch (Exception e) {}}}}
    它生成的有数字的。
    jfreechart的各个版本有些函数名字变了,搂主注意版本哈!
      

  5.   

    楼主,我测试通过的代码:
    import java.io.FileNotFoundException;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.data.general.DefaultPieDataset;
    public class PieChart {
    public void drawToFile(){//设置数据集DefaultPieDataset dataset = new DefaultPieDataset();dataset.setValue("冰箱", 1800);dataset.setValue("电视", 1600);dataset.setValue("空调", 3300);dataset.setValue("洗衣机", 2000);dataset.setValue("DVD", 400);//通过工厂类生成JFreeChart对象JFreeChart chart = ChartFactory.createPieChart3D("家电投资比例示意图", dataset, true, false, false);//写图表对象到文件FileOutputStream fos_jpg = null;try {     fos_jpg = new FileOutputStream("D:pi.jpg");     ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,400,300,null);    }
    catch (FileNotFoundException e)
        {      e.printStackTrace();    }
    catch (IOException e) 
    {      e.printStackTrace();    }
    finally
        {       try
       {          fos_jpg.close();       }
       catch (Exception e)
       {
       e.printStackTrace();
       }    }  }
     
      public static void main(String[] args)
      {        PieChart demo = new PieChart();
            demo.drawToFile();
      }
    }
    我的版本是jfreechart-1.0.1,和jcommon-1.0.4;