我正在使用MPAndroidChart库创建条形图。
我们可以使用以下内容在条形上方显示条形值。
mChart.setDrawValueAboveBar(false);
Run Code Online (Sandbox Code Playgroud)
或者我们可以使用这个:
barDataSet.setDrawValues(true);
Run Code Online (Sandbox Code Playgroud)
在条形图本身中显示条形图值。我想知道是否可以为这些值设置自定义位置。例如在y轴下方。
解
public class TextBarChartRenderer extends BarChartRenderer {
public TextBarChartRenderer(BarDataProvider chart, ChartAnimator animator, ViewPortHandler viewPortHandler) {
super(chart, animator, viewPortHandler);
}
@Override
public void drawValues(Canvas c) {
List<IBarDataSet> dataSets = mChart.getBarData().getDataSets();
final float valueOffsetPlus = Utils.convertDpToPixel(22f)
float negOffset;
for (int i = 0; i < mChart.getBarData().getDataSetCount(); i++) {
IBarDataSet dataSet = dataSets.get(i);
applyValueTextStyle(dataSet);
float valueTextHeight = Utils.calcTextHeight(mValuePaint, "8");
negOffset = valueTextHeight + valueOffsetPlus;
BarBuffer buffer = mBarBuffers[i];
float left;
float right;
float top;
float …Run Code Online (Sandbox Code Playgroud)