0

ここ数日、 AchartEngineをいじっています。TrignometricFunctionsChart を変更して、あらゆる種類のグラフを表示できるようにしました。ここで、ユーザーに関数を入力して、その関数のグラフをプロットしてもらいます。そのためには、グラフ内に EditText と Button が必要です。Androidを読んでみました:グラフに AChartEngine ライブラリを使用していますが、achartengine のグラフ ビューを Android xml と統合できませんか? まだタスクを達成できませんでした。XYChartBuilder (XML ファイルに格納されている唯一のチャート) を編集しようとしましたが、TrignometricFunctionsChart を挿入できませんでした。

このコード スニペットを移行する方法がわかりません:

public Intent execute(Context context) {
String[] titles = new String[] { "sin", "cos" };
List<double[]> x = new ArrayList<double[]>();
List<double[]> values = new ArrayList<double[]>();
int step = 4;
int count = 360 / step + 1;
x.add(new double[count]);
x.add(new double[count]);
double[] sinValues = new double[count];
double[] cosValues = new double[count];
values.add(sinValues);
values.add(cosValues);
for (int i = 0; i < count; i++) {
  int angle = i * step;
  x.get(0)[i] = angle;
  x.get(1)[i] = angle;
  double rAngle = angle/57.295779513082;
  sinValues[i] = rAngle;
  cosValues[i] = 0.25*rAngle;
}
int [] colors = new int[] { Color.BLUE, Color.CYAN };
PointStyle[] styles = new PointStyle[] { PointStyle.POINT, PointStyle.POINT };
XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles);
setChartSettings(renderer, "Trigonometric functions", "X (in degrees)", "Y", 0, 360, -1, 1,
    Color.GRAY, Color.LTGRAY);
renderer.setXLabels(20);
renderer.setYLabels(10);
return ChartFactory.getLineChartIntent(context, buildDataset(titles, x, values), renderer);
}
4

1 に答える 1

0

チャートをレイアウトに埋め込むのに最適な場所は、まさにあなたが言及した場所です。デモ コードをもっと注意深く読むことをお勧めします。

デモ チャートが親クラスからどのように動作を継承するかを理解しておいてください。たとえば、buildRenderer()、buildDataset() などはすべて AbstractDemoChart にあります。

于 2012-08-03T13:35:26.430 に答える