- - PR -
JFreeChart:データベースから折れ線グラフを作る
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-11-13 13:46
はじめまして.
JFreeChartを最近勉強しはじめた,ぎどらと申します. グラフに用いるデータを,MySQLから取得し, JFreeChartを使って折れ線グラフを出力したいのですが, うまくコンパイルできません. 是非,ご指導ご鞭撻のほど宜しくお願い致します. ソース ---- import java.io.*; import java.sql.*; import java.awt.Color; import java.awt.Paint; import javax.servlet.*; import javax.servlet.http.*; import org.jfree.chart.*; import org.jfree.chart.plot.*; import org.jfree.chart.axis.*; import org.jfree.data.category.DefaultCategoryDataset; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.time.*; import org.jfree.data.xy.*; import org.jfree.date.*; import org.jfree.data.category.CategoryDataset; import org.jfree.data.jdbc.JDBCCategoryDataset; import org.jfree.ui.RefineryUtilities; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; public class chart extends HttpServlet{ public static final Color VERY_LIGHT_YELLOW = new Color(0xFF, 0xFF, 0x80); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException { response.setContentType("image/png"); OutputStream out = response.getOutputStream(); try{ JFreeChart chart = createChart(); ChartUtilities.writeChartAsPNG(out,chart,400,300); } catch (Exception e) { System.out.println(e.toString()); }finally { out.close(); } } private JFreeChart createChart() { CategoryDataset data = readData(); JFreeChart chart = ChartFactory.createXYLineChart( "世界の物価", // chart title "都市", "価格(円換算)", data, // data PlotOrientation.VERTICAL, true, // include legend true, false ); XYPlot plot = (XYPlot) chart.getPlot(); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(); renderer.setShapesVisible(true); renderer.setShapesFilled(true); chart.setBackgroundPaint(Color.PINK); return chart; } private CategoryDataset readData() { JDBCCategoryDataset data = null; String url = "jdbc:mysql:///jsp?useUnicode=true&characterEncoding=SJIS"; Connection connection; try { Class.forName("org.gjt.mm.mysql.Driver"); connection = DriverManager.getConnection(url, "", ""); data = new JDBCCategoryDataset(connection); String sql = "SELECT * FROM prices;"; data.executeQuery(sql); connection.close(); } catch (Exception e) { System.err.println(e.getMessage()); } return data; } } ---- エラーメッセージ ---- org.jfree.chart.ChartFactory の createXYLineChart(java.lang.String,java.lang.String,java.lang.String, org.jfree.data.xy.XYDataset,org.jfree.chart.plot.PlotOrientation, boolean,boolean,boolean) は (java.lang.String,java.lang.String,java.lang.String, org.jfree.data.category.CategoryDataset, org.jfree.chart.plot.PlotOrientation,boolean,boolean,boolean) に適用できません。 JFreeChart chart = ChartFactory.createXYLineChart( エラー 1 個 ---- -- 環境 jfreechart-1.0.0-rc1 MySQL4.0.18 | ||||
|
投稿日時: 2007-11-13 14:00
このエラーメッセージは引数の型が間違っていることを意味しています。 ドキュメントを確認して該当メソッドの引数の型と、 自分が渡しているデータの型が合っているか確認しましょう。 | ||||
|
投稿日時: 2007-11-13 14:37
nagiseさん
ご返答ありがとうございますm(__)m プログラミングに関して,まだまだ知識が浅いので, 引数の型というものを,もう少し勉強してから考えてみます. 今後もご指導ご鞭撻のほど宜しくお願い致します. | ||||
|
投稿日時: 2007-11-17 21:42
下記のソースを参考にして、なんとかできました。
http://www.programacion.com/java/articulo/jfreechart/ |
1