web-dev-qa-db-ja.com

MPAndroidChart内で値をフォーマットする方法は?

MPAndroidChartライブラリ に関する2つの質問。すべてのyvalueは整数ですが、Decimalとして表示されます。整数(数字なし)として表示するにはどうすればよいですか? ylabelsも小数として表示されるのを防ぐにはどうすればよいですか?私はyvaluesのためのsetFormatterがあることを知っていますが、使用方法を理解していないだけです...

23
Dennis

ライブラリが提供するIValueFormatterinterface をご覧ください。このインターフェイスを使用すると、独自のロジックに基づいて、チャートに表示されるものを完全にカスタマイズできます。

使用法:

chart.setValueFormatter(new YourValueFormatter());
YLabels yl = chart.getYLabels();
yl.setFormatter(new YourValueFormatter());

[〜#〜] update [〜#〜](バージョン2.0.0 +この[ライブラリ] [2]の場合):

現在、ValueFormatterを各DataSetに対して個別に設定できます。orすべてのValueFormatterを含むデータオブジェクト全体に対して同じDataSetsを設定できます。さらに、YLabelsクラスはYAxisと呼ばれるようになりました。

例:

// set for whole data object (individual DataSets also possible)
LineData data = new LineData(...);
data.setValueFormatter(new YourValueFormatter());

// YLabels are now called YAxis
YAxis yAxis = mChart.getAxisLeft(); // get the left or right axis
yAxis.setValueFormatter(new YourAxisValueFormatter());

[〜#〜] update [〜#〜](バージョン.0.0 +この[ライブラリ] [2]の場合):

書式設定用のインターフェイスの名前が変更され、機能が拡張されました。現在、IAxisValueFormatterを使用して、XAxisYAxisの両方の値をフォーマットできます。 IValueFormatterインターフェイスは、チャート値をカスタマイズするために使用されます。

ValueFormatterドキュメント へのリンク。

35
Philipp Jahoda

値の小数点以下の桁数を変更するだけであれば、DefaultValueFormatterで十分です。

pieDataSet.setDefaultValueFormatter(new DefaultValueFormatter(digits = 1))
//where digits is the number of decimal places

上記の例では、88.65を88.7としてフォーマットします

0
peter