受信データ数の棒グラフに温度、湿度の折れ線グラフを重ねるために、
JFreeChartで棒グラフ+折れ線グラフのプログラムを書いて見ました。
棒グラフ
TimeSeries series1 = new TimeSeries("Rx Number", Day.class);
TimeSeriesCollection dataset1 = new TimeSeriesCollection();
series1.add(new Day(1, 11, 2011), 5);//任意の数を追加
dataset1.addSeries(series1);
JFreeChart chart = ChartFactory.createXYBarChart("Title","Time",
true, "Num", dataset1, PlotOrientation.VERTICAL, true, false, false);
これで棒グラフのデータの用意とグラフ作成
折れ線グラフ
TimeSeries series2 = new TimeSeries("RH", Day.class);
TimeSeriesCollection dataset2 = new TimeSeriesCollection();
series2.add(new Day(1, 11, 2011), 0.0);//任意の数を追加
dataset2.addSeries(series2);
次にこれで折れ線グラフのデータを用意
プロットの設定
XYPlot plot = chart.getXYPlot();
plot.setDataset(1, dataset2);
plot.mapDatasetToRangeAxis(1, 1);
軸設定
NumberAxis axis = new NumberAxis();
axis.setNumberFormatOverride(NumberFormat.getPercentInstance());
plot.setRangeAxis(1, axis);
レンダラ設定
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
plot.setRenderer(1, renderer);
plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
表示の結果
続きを読むにprocessingで動作させたプログラムを載せます。
processingで動作させるためにはスケッチを保存してあるフォルダに、
codeというフォルダを用意して、その中に、
gnujaxp.jar
iText-2.1.5.jar
jcommon-1.0.17.jar
jfreechart-1.0.14.jar
jfreechart-1.0.14-experimental.jar
jfreechart-1.0.14-swt.jar
junit.jar
servlet.jar
swtgraphics2d.jar
を入れておきます。
これで目的のグラフを作れました。
次はXBeeのプログラムに組み込もうかな。。。