私のアプリでAndroidPlotを実装しましたが、正常に動作しますが、日付が明確でないため、原点の後に最初の値が必要です。最初のドメインラベルを原点から一歩移動する方法
私は、彼らがsetDomainValueFormat方法は、しかし、エラーメッセージが表示される追加質問hereで提案された解決策を試みた:
どれ
を "方法は解決できないの"原点の後にx軸ドメインを1ステップ開始する方法を提案しますか?
plot = (XYPlot) findViewById(R.id.plot);
XYSeries series = new SimpleXYSeries(Arrays.asList(dates_in_m_seconds), Arrays.asList(values_as_numbers), "BP Status");
LineAndPointRenderer and configure them
LineAndPointFormatter seriesFormat = new LineAndPointFormatter(Color.RED, Color.GREEN,null, null);
plot.addSeries(series, seriesFormat);
// Specify x and y axes labels amount
plot.setRangeStep(StepMode.SUBDIVIDE,3);
plot.setDomainStep(StepMode.SUBDIVIDE,dates.size());
plot.getGraph().getLineLabelStyle(XYGraphWidget.Edge.BOTTOM).setFormat(new Format() {
@Override
public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) {
Date date_Label = new Date(Math.round(((Number) obj).doubleValue()));
return format.format(date_Label, toAppendTo, pos);
}
@Override
public Object parseObject(String source, ParsePosition pos) {
return null;
}
});
plot.getGraph().getLineLabelStyle(XYGraphWidget.Edge.LEFT).setFormat(new Format() {
@Override
public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) {
Number num = (Number) obj;
switch (num.intValue()) {
case 0:
toAppendTo.append("Low");
break;
case 1:
toAppendTo.append("Normal");
break;
case 2:
toAppendTo.append("High");
break;
default:
toAppendTo.append("Unknown");
break;
}
return toAppendTo;
}
@Override
public Object parseObject(String source, ParsePosition pos) {
return null;
}
});
}
ですから、要素0,0のドメインと範囲ラベルが重ならないように右一歩にドメイン値を超えるシフトしたい、正しいですか?また、XYSeriesをインスタンス化するコードを投稿してください。 – Nick
はい、これは私が何を意味するコードを確認してください、私はxyシリーズ@Nick投稿を更新することができます@ニック – user873101