前不久,qq群里有个java朋友需要做折线图,折线图其实倒不难,用jfreechart或twaver都可以很容易做到,甚至自己做个这样的组件也不需要多长时间,但这个朋友有个比较特殊的要求:折线图要分区域颜色显示,处理上的确加大了难度
jfreechart能不能实现,我没具体研究,twaver的曲线本身支持mark的操作,但实现比较简单,仅仅是在各个区域分割地方加了条线来区分,达不到要求,因此我抽空改写了这个组件,难点主要是通过三角函数计算各个曲线与分割线的交叉点,找到这些点其实就简单了
具体效果图如下: