我用JFreeChart画柱状图时y轴小数点位数只显示了两位,数字显示在柱子上时只显示了3位,我想让它至少显示4位小数该怎么办?还有就是画出来的柱子太细了,请问柱子宽度如何控制?
解决方案 »
- 请教个sql语句问题
- jsp页面为什么在有的机器上浏览总是要刷新多次才会显示出来
- 在命令行输入ant命令,为什么提示'ant'不是内部或外部命令,也不是可运行的程序...是不是没装什么?
- 在页面中读取指定的doc文件然后在IE中打开??
- 求助
- 谁有网上购物系统的毕业设计完整版?小型为好,<论文+代码>小弟懒得写论文啊
- 小问题?
- 修改bean后,如何能不重新启动tomcat,就使修改的Bean生效
- 奇怪的分页显示:点下一页出现其他条件下一页的结果?高手请赐教
- 本人做c#的,有个java代码想问下这个getKey("abcdefghijkl");结果是什么,具体进来看。
- servlet 错误 请教牛人!!!
- weblogic上连接ms sql连接池错误
//设置柱子之间的间距
renderer.setItemMargin(0.1);
package 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.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.TextAnchor;
import test.MyWebChart.LabelGenerator;public class Chart {
private DefaultCategoryDataset defaultcategorydataset;
public void setBarValue(double n,String s1,String s2) {
defaultcategorydataset.addValue(n,s1,s2);
}
public Chart() {
defaultcategorydataset=new DefaultCategoryDataset();
}
//3D水平柱图,图表标题,图片路径,图片名称,横坐标说明,纵坐标说明,是否有图例,宽,高,水平还是垂直显示
public void create3DBarChart(String title,String path,String name,String xdescribe,String ydescribe,boolean blegend,int width,int height,String direction){
//设置图片默认路径和默认名字
if (path == null || "".equals(path)) {
path = "d:\\";
}
if (name == null || "".equals(name)) {
name = "temp.jpg";
}
//设置图片默认宽度和高度
if (width == 0 ) {
width = 400;
}
if (height == 0 ) {
height = 300;
}
//图表标题,横坐标说明,纵坐标说明,数据,水平还是垂直显示,图例,tooltips,urls
JFreeChart jfreechart = null;
//水平还是垂直显示
if(direction!=null&&direction.equals("H")){
jfreechart = ChartFactory.createBarChart3D(title, xdescribe, ydescribe, defaultcategorydataset, PlotOrientation.HORIZONTAL, blegend, true, false);
}else{
jfreechart = ChartFactory.createBarChart3D(title, xdescribe, ydescribe, defaultcategorydataset, PlotOrientation.VERTICAL, blegend, true, false);
}
CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer();
barrenderer.setItemLabelGenerator(new LabelGenerator());
barrenderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
barrenderer.setItemLabelsVisible(true);
ItemLabelPosition itemlabelposition = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.TOP_CENTER, TextAnchor.TOP_CENTER, 0D);
barrenderer.setPositiveItemLabelPositionFallback(itemlabelposition);
//生成图片
FileOutputStream fos = null;
try {
fos = new FileOutputStream(path + name);
ChartUtilities.writeChartAsJPEG(fos,jfreechart,width,height);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
fos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
public static void main(String[] args) {
Chart chart=new Chart(); chart.setBarValue(0.77552D, "name", "Robert");
chart.setBarValue(0.9312D, "name", "Mary");
chart.setBarValue(0.32D, "name", "John");
chart.setBarValue(0.75D, "name", "Ellen");
chart.setBarValue(0.63D, "name", "Jack");
chart.setBarValue(0.9421D, "name", "David");
chart.setBarValue(0.167D, "name", "Mark");
chart.setBarValue(0.6578D, "name", "Andy");
chart.create3DBarChart("first 3Dbar","d://","3Dbar.jpg",null,null,false,800,600,"V");
}
}
vn.setAutoTickUnitSelection(false);
NumberTickUnit nt=new NumberTickUnit(1.22);vn.ssetTickUnit(nt);
barrenderer.setItemMargin(0.1);