2016-10-12 20 views
0

apache POIを使用してPPTに折れ線グラフを描く方法の良い例はありますか?Apache POIを使用してPPTに折れ線グラフを書き込む方法

私はapache POI XSLFSlideを使用してPPTを生成しています。私は、XSLFSlideを使って線を引く例を見ていません。

+0

"apache POIを使用してPPTに折れ線グラフを描く方法を示す良い例はありますか?"折れ線グラフがあるかのように読み込みます。 "... XSLFSlideを使って線を描く例"単純に線を描くように読み込みます。では、何を意味していますか? –

答えて

0

一般に、この棒グラフは同じ概念です。

public static void main(String[] args) throws Exception { 
    HSLFSlideShow ppt = new HSLFSlideShow(); 

    try { 
     //bar chart data. The first value is the bar color, the second is the width 
     Object[] def = new Object[]{ 
      Color.yellow, 40, 
      Color.green, 60, 
      Color.gray, 30, 
      Color.red, 80, 
     }; 

     HSLFSlide slide = ppt.createSlide(); 

     HSLFGroupShape group = new HSLFGroupShape(); 
     //define position of the drawing in the slide 
     Rectangle bounds = new java.awt.Rectangle(200, 100, 350, 300); 
     group.setAnchor(bounds); 
     group.setInteriorAnchor(new java.awt.Rectangle(0, 0, 100, 100)); 
     slide.addShape(group); 
     Graphics2D graphics = new PPGraphics2D(group); 

     //draw a simple bar graph 
     int x = 10, y = 10; 
     graphics.setFont(new Font("Arial", Font.BOLD, 10)); 
     for (int i = 0, idx = 1; i < def.length; i+=2, idx++) { 
      graphics.setColor(Color.black); 
      int width = ((Integer)def[i+1]).intValue(); 
      graphics.drawString("Q" + idx, x-5, y+10); 
      graphics.drawString(width + "%", x + width+3, y + 10); 
      graphics.setColor((Color)def[i]); 
      graphics.fill(new Rectangle(x, y, width, 10)); 
      y += 15; 
     } 
     graphics.setColor(Color.black); 
     graphics.setFont(new Font("Arial", Font.BOLD, 14)); 
     graphics.draw(group.getInteriorAnchor()); 
     graphics.drawString("Performance", x + 30, y + 10); 

     FileOutputStream out = new FileOutputStream("hslf-graphics.ppt"); 
     ppt.write(out); 
     out.close(); 
    } finally { 
     ppt.close(); 
    } 
} 
関連する問題