V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
thinkmore
V2EX  ›  问与答

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

  •  
  •   thinkmore · 2014-11-30 20:40:57 +08:00 · 2434 次点击
    这是一个创建于 3653 天前的主题,其中的信息可能已经有所发展或是发生改变。
    由于v2ex上不知道如何上图,没办法只能把问题发到csdn上面去了,希望大家帮忙看看!
    上个链接:
    http://bbs.csdn.net/topics/390943703
    9 条回复    2014-12-01 12:34:39 +08:00
    tititake
        1
    tititake  
       2014-11-30 23:23:43 +08:00 via Android   ❤️ 1
    一定要后端生成?
    如果只是做页面展示的话,建议用js框架来做。
    spance
        2
    spance  
       2014-11-30 23:31:29 +08:00
    低级点的,先从JFreeChart对象拿到Graphics2D,render到BufferedImage
    然后这就是个2D画布了,你随便画吧,那几个矩形放点文字应该不难了吧。
    thinkmore
        3
    thinkmore  
    OP
       2014-12-01 09:34:30 +08:00
    @tititake 就是一定要使用jfreechart呀!如果使用js的话那就简单了哟
    tititake
        4
    tititake  
       2014-12-01 09:41:55 +08:00   ❤️ 1
    @thinkmore 这里看看有没有例子可以用吧 http://www.java2s.com/Code/Java/Chart/CatalogChart.htm
    thinkmore
        5
    thinkmore  
    OP
       2014-12-01 10:01:52 +08:00
    @spance 但是如何拿到Graphics2D对象呢?JFreeChart没有对应的方法呀!而且的话饼图好像是没有render的!能不能给个小Demo呢?
    spance
        6
    spance  
       2014-12-01 10:45:26 +08:00   ❤️ 1
    BufferedImage img = chart.createBufferedImage(400, 400);
    Graphics2D g2d = (Graphics2D) img.getGraphics();
    // g2d.drawPolyline(....);
    ImageIO.write(img, "png", new File("chart.png"));
    thinkmore
        7
    thinkmore  
    OP
       2014-12-01 11:04:31 +08:00
    @spance 但是如果使用这个的话要嫁接到原有的图形上面是相当复杂的吧?时候存在直接操作的方式呢?比如说改变输出框的大小呀?从图形上支出来的那个框框难道是写死了的呢吗?能不能加下你的麻花藤:353003874,thanks
    spance
        8
    spance  
       2014-12-01 11:16:27 +08:00
    BufferedImage img 就是渲染后的图像了,通过它的Graphics接口可以做很多低层操作,自己画的东西的建议不要太复杂,否则会牵扯很多的东西,尤其像字体测量,什么基线,偏移,行高啊等等会很复杂了。你不就是要在右面画几个框框么?drawRect不能满足你吗?自己算好x,y,w,h不就是你的结果么
    thinkmore
        9
    thinkmore  
    OP
       2014-12-01 12:34:39 +08:00
    @spance 关键就是计算好的那个宽高呀!要是我一个图形需要去计算,那我十个呢?而且你知道的这些数据都是活的,这个图形是根据数据而变化的,不过你的想法或许是实现这种方式的最好方法了,谢谢你
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1032 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:19 · PVG 03:19 · LAX 11:19 · JFK 14:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.