Jfreechart 的问题,请大家助我一臂之力!

2014-11-30 20:40:57 +08:00
 thinkmore
由于v2ex上不知道如何上图,没办法只能把问题发到csdn上面去了,希望大家帮忙看看!
上个链接:
http://bbs.csdn.net/topics/390943703
2335 次点击
所在节点    问与答
9 条回复
tititake
2014-11-30 23:23:43 +08:00
一定要后端生成?
如果只是做页面展示的话,建议用js框架来做。
spance
2014-11-30 23:31:29 +08:00
低级点的,先从JFreeChart对象拿到Graphics2D,render到BufferedImage
然后这就是个2D画布了,你随便画吧,那几个矩形放点文字应该不难了吧。
thinkmore
2014-12-01 09:34:30 +08:00
@tititake 就是一定要使用jfreechart呀!如果使用js的话那就简单了哟
tititake
2014-12-01 09:41:55 +08:00
@thinkmore 这里看看有没有例子可以用吧 http://www.java2s.com/Code/Java/Chart/CatalogChart.htm
thinkmore
2014-12-01 10:01:52 +08:00
@spance 但是如何拿到Graphics2D对象呢?JFreeChart没有对应的方法呀!而且的话饼图好像是没有render的!能不能给个小Demo呢?
spance
2014-12-01 10:45:26 +08:00
BufferedImage img = chart.createBufferedImage(400, 400);
Graphics2D g2d = (Graphics2D) img.getGraphics();
// g2d.drawPolyline(....);
ImageIO.write(img, "png", new File("chart.png"));
thinkmore
2014-12-01 11:04:31 +08:00
@spance 但是如果使用这个的话要嫁接到原有的图形上面是相当复杂的吧?时候存在直接操作的方式呢?比如说改变输出框的大小呀?从图形上支出来的那个框框难道是写死了的呢吗?能不能加下你的麻花藤:353003874,thanks
spance
2014-12-01 11:16:27 +08:00
BufferedImage img 就是渲染后的图像了,通过它的Graphics接口可以做很多低层操作,自己画的东西的建议不要太复杂,否则会牵扯很多的东西,尤其像字体测量,什么基线,偏移,行高啊等等会很复杂了。你不就是要在右面画几个框框么?drawRect不能满足你吗?自己算好x,y,w,h不就是你的结果么
thinkmore
2014-12-01 12:34:39 +08:00
@spance 关键就是计算好的那个宽高呀!要是我一个图形需要去计算,那我十个呢?而且你知道的这些数据都是活的,这个图形是根据数据而变化的,不过你的想法或许是实现这种方式的最好方法了,谢谢你

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/150483

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX