当前页面: 开发资料首页 → JSP 专题 → 请问jfreechart图表中饼图可以显示数字吗?而不是百分比.
请问jfreechart图表中饼图可以显示数字吗?而不是百分比.
摘要: 请问jfreechart图表中饼图可以显示数字吗?而不是百分比.
请问jfreechart图表中饼图可以显示数字吗?而不是百分比.柱状图,曲线图数据都可以显示数字.
可以的
PieSectionLabelGenerator generator = new StandardPieItemLabelGenerator(
"{2}", new DecimalFormat("0"), new DecimalFormat("0.00%"));
其中{0}{1}{2}分别代表不同的现实方式,可以同时显示出来,具体各自表示什么忘记了。
plot.setLegendLabelGenerator(new StandardPieItemLabelGenerator("{0});可以!
顶!!
plot.setLegendLabelGenerator(new StandardPieItemLabelGenerator("{0});可以!
这个行不通啊.
他一般不设置格式的时候默认就显示的是每一块的数值哦;
我在网上给你找了一个例子:
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的各个版本有些函数名字变了,搂主注意版本哈!
楼主,我测试通过的代码:
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;