2012-03-30 11 views
0

実際に私はアンドロイド用のチャートツールで作業しています。検索中にachartengineツールがあり、デモのソースコードをダウンロードしました。このソースには、MultipleTemperatureChart.javaの例があります。この例では、2つのy軸と1つのx軸を持つグラフをプロットします。 私が気づいている奇妙なことは、単純なコードを例のコードで与えられている値ではなく、コード内で自分自身で渡すときです。私が気づいているのは、のグラフのプロットで、左のy軸とx軸のです。しかし、右Y軸とX軸を使ったグラフプロットは間違っています。なぜこのようなことが起きるのかは、コード内で何か問題があります。私がコードで行った変更は、以下のコードiに**記号で示されています。achartengineデモの例ソースコードが間違った結果を表示

public Intent execute(Context context) { 
String[] titles = new String[] { "Crete" }; 
List<double[]> x = new ArrayList<double[]>(); 
for (int i = 0; i < titles.length; i++) { 
    **x.add(new double[] { 1, 2, 3, 4}); 
} 
List<double[]> values = new ArrayList<double[]>(); 
**values.add(new double[] { 10, 15, 20, 25}); 
int[] colors = new int[] { Color.BLUE, Color.YELLOW }; 
PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE, PointStyle.DIAMOND, 
    PointStyle.TRIANGLE, PointStyle.SQUARE }; 
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(2); 
setRenderer(renderer, colors, styles); 
int length = renderer.getSeriesRendererCount(); 
for (int i = 0; i < length; i++) { 
    ((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true); 
} 
setChartSettings(renderer, "Average temperature", "Month", "Temperature", 0.5, 12.5, 0, 32, 
    Color.LTGRAY, Color.LTGRAY); 
renderer.setXLabels(12); 
renderer.setYLabels(10); 
renderer.setShowGrid(true); 
renderer.setXLabelsAlign(Align.RIGHT); 
renderer.setYLabelsAlign(Align.RIGHT); 
renderer.setZoomButtonsVisible(true); 
renderer.setPanLimits(new double[] { -10, 20, -10, 40 }); 
renderer.setZoomLimits(new double[] { -10, 20, -10, 40 }); 

renderer.setYTitle("Hours", 1); 
renderer.setYAxisAlign(Align.RIGHT, 1); 
renderer.setYLabelsAlign(Align.LEFT, 1); 
XYMultipleSeriesDataset dataset = buildDataset(titles, x, values); 
values.clear(); 
**values.add(new double[] { 10, 15, 20, 25}); 
addXYSeries(dataset, new String[] { "Sunshine hours" }, x, values, 1); 
Intent intent = ChartFactory.getLineChartIntent(context, dataset, renderer, 
    "Average temperature"); 
return intent; 
} 

これは

enter image description here

+0

どうしたのですか?この例を試してみると、私はいつもエラーが出ます...アプリケーションが起動しない... – Shilaghae

答えて

0

を変更した後、私はあなたがすなわち、一つだけx軸を持ったグラフのスクリーンショット:

x.add(new double[] { 1, 2, 3, 4}); 

あなたが必要としないでくださいもう一つ?

関連する問題