文字列を水平ラベルとして設定するのに役立つカスタムフォーマッタを他のスレッドで見つけました。
GraphViewSeries series = new GraphViewSeries(new GraphView.GraphViewData[] {
new GraphView.GraphViewData(0, 14d),
new GraphView.GraphViewData(1, 7d),
new GraphView.GraphViewData(2, 12d),
new GraphView.GraphViewData(3, 10d),
new GraphView.GraphViewData(4, 14d),
new GraphView.GraphViewData(5, 8d),
new GraphView.GraphViewData(6, 25d),
new GraphView.GraphViewData(7, 10d),
new GraphView.GraphViewData(8, 14d),
new GraphView.GraphViewData(9, 7d),
new GraphView.GraphViewData(10, 5d),
});
GraphView graphView = new BarGraphView(this, "Demo");
graphView.addSeries(series);
horizontalLabels = new String[]{"1", "2", "3", "4", "5", "6",
"7", "8", "9", "10", "11"};
graphView.setViewPort(0, 3);
graphView.setScrollable(true);
graphView.setManualYAxisBounds(30, 0);
graphView.getGraphViewStyle().setNumVerticalLabels(6);
graphView.getGraphViewStyle().setNumHorizontalLabels(5);
//graphView.getGraphViewStyle().setTextSize();
graphView.setCustomLabelFormatter(new CustomLabelFormatter() {
@Override
public String formatLabel(double value, boolean isValueX) {
if (isValueX) {
return horizontalLabels[(int) value];
} else
return null;
}
});
LinearLayout layout = (LinearLayout) findViewById(R.id.graph1);
layout.addView(graphView);
これは、graphView を処理している私のコード全体です。奇妙な値の倍増を引き起こした可能性のある部分は見つかりませんが、このライブラリを初めて使用しているので、これを修正するための微調整があるかもしれません。
グラフをスクロールすると、値が2倍になります。これをどこにスクロールしても、画面には常に2つの同じ値があります。
編集: この画面では、水平ラベルは 1、2、3、4、5 である必要があります - 何かを変更する場合。