当前位置:编程学习 > JAVA >>

jfreechart柱形图显示问题求助 折腾二天了,附图!

工作中最近需要用到jfreechart 做图表,在开发柱形图时,发现了一个比较诡异的问题,思考好久,没有解决好,废话不多说了,先描述一下。模拟数据如下:
dataset.addValue(1,"A",A);
dataset.addValue(1,"BV",B);
dataset.addValue(1,"C1",C);
dataset.addValue(1,"C2",C);
dataset.addValue(1,"C3",C);
dataset.addValue(1,"D",D);
希望实现的是A,B,D,三组各一条数据,宽度都只有一根柱宽, C组有三根柱子,都居中显示。
1+1+1+3 共六根柱子加间距的宽度。
可实际上 …6*4  相当于24根柱子的宽度,
废话一大堆,不知道大家有没有听明白,
具体如下图。
--------------------编程问答--------------------
--------------------编程问答-------------------- 奇怪了,难道这个问题没有人遇到吗 --------------------编程问答-------------------- lz是想调整 柱子之间的间距吧,先理解 addValue(a,b,c);这里面的参数的含义吧。
a 我记得是 高度吧
b 柱子的区别 就是可以设置柱子的颜色 ,是不是同一类的柱子
c 柱子的下标吧 --------------------编程问答-------------------- 理解了啊,问题的原因也知道,就是不知道怎么解决,网上找了好久没有相应的办法。。
楼上的有什么好方法吗?  --------------------编程问答-------------------- 你的不是同一类柱子,柱子间的间距柱子之间的间距貌似不好设置。我也就只能帮你到这了。 --------------------编程问答-------------------- 客户要求使用JfreeChart吗,可以建议试试funshionChart和HighChart 都简单实用、效果好。 --------------------编程问答--------------------
引用 4 楼 lilijunjun888 的回复:
理解了啊,问题的原因也知道,就是不知道怎么解决,网上找了好久没有相应的办法。。
楼上的有什么好方法吗? 

这个以前做过,主要是BarRenderer内部会根据dataset的组的数量以及组内柱图的数量进行计算的,这个计算方式不是智能的根据组内柱图的数量调整剧中而是,根据组中哪个rowCount最多就以他为准。这个必要的时候你要改动他计算柱图间距的源码。 --------------------编程问答-------------------- 用fusionchart 比jfreechart好用多了  直接组装数据 就好了
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,