Skip to content

Instantly share code, notes, and snippets.

@tatuas
Created January 4, 2014 15:42
Show Gist options
  • Save tatuas/8256609 to your computer and use it in GitHub Desktop.
Save tatuas/8256609 to your computer and use it in GitHub Desktop.
androidグラフチャートのメモ
setContentView(R.layout.activity_main);
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
XYMultipleSeriesDataset dataSet = new XYMultipleSeriesDataset();
XYSeries series = new XYSeries("Data1", 0);
XYSeriesRenderer dataRenderer = new XYSeriesRenderer();
dataRenderer.setColor(Color.BLUE);
dataRenderer.setPointStyle(PointStyle.CIRCLE);
dataRenderer.setFillPoints(true);
series.add(1, 7);
series.add(2, 2);
series.add(3, 5);
series.add(4, 4);
series.add(5, 2);
series.add(1, 10);
dataSet.addSeries(series);
renderer.addSeriesRenderer(dataRenderer);
XYSeries series2 = new XYSeries("Data2", 0);
XYSeriesRenderer dataRenderer2 = new XYSeriesRenderer();
dataRenderer2.setColor(Color.RED);
dataRenderer2.setPointStyle(PointStyle.DIAMOND);
dataRenderer2.setFillPoints(true);
series2.add(22, 4);
series2.add(22, 4);
series2.add(22, 24);
series2.add(33, 2);
series2.add(3, 12);
series2.add(1, 2);
dataSet.addSeries(series2);
renderer.addSeriesRenderer(dataRenderer2);
renderer.setChartTitle("平均気温");
renderer.setXTitle("Horizontal axis");
renderer.setYTitle("Vertical axis");
renderer.setXAxisMin(0.5);
renderer.setXAxisMax(12.5);
renderer.setYAxisMin(-10);
renderer.setYAxisMax(40);
renderer.setAxesColor(Color.YELLOW);
renderer.setLabelsColor(Color.RED);
renderer.setAxisTitleTextSize(10); // X軸とY軸の文字大きさ
renderer.setChartTitleTextSize(20); // グラフタイトルの文字大きさ
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setPointSize(5f);
renderer.setMargins(new int[] {200, 300, 100, 2}); // setMargins(Top, Left, Bottom, Right)
// setX,YLabelsで、グラフに何個のメモリを表示するか指定できる。
renderer.setXLabels(40);
renderer.setYLabels(20);
renderer.setShowGrid(true);
renderer.setXLabelsAlign(Align.LEFT);
renderer.setYLabelsAlign(Align.CENTER);
renderer.setZoomButtonsVisible(true);
renderer.setPanLimits(new double[] { -10, 20, -10, 40 });
renderer.setZoomLimits(new double[] { -10, 20, -10, 40 });
// ここで初めてデータの代入を行なっている
graphicalView = ChartFactory.getCubeLineChartView(getApplicationContext(), dataSet, renderer, (float)0.1);
LinearLayout line = (LinearLayout)findViewById(R.id.sdf);
// どんな大きさでも自動調整するのでアスペクトなどは心配いらない
line.addView(graphicalView, new LayoutParams(500,500));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment