5

我正在使用MPAndroidChart库。

我在我的应用程序中实现了一个 PieChart。一切正常,但图表顶部和末尾有一个空白区域。我需要删除此空间以正确可视化我的活动布局

我的问题是:

  • 是否可以以编程方式删除它们?

PD 在我的布局中,没有marginTop 或marginBottom。

布局xml:

<com.github.mikephil.charting.charts.PieChart
   android:id="@+id/pieChart"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_below="@id/_home_consumed" >
</com.github.mikephil.charting.charts.PieChart>
4

5 回答 5

5

你试过打电话setOffsets(float left, float top, float right, float bottom)Chart

// add data...
chart.setData(...);

// define new offsets
chart.setOffsets(0, 0, 0, 0);

// update transformation matrix
chart.getTransformer().prepareMatrixValuePx(chart);
chart.getTransformer().prepareMatrixOffset(chart);

chart.getContentRect().set(0, 0, chart.getWidth(), chart.getHeight());

// redraw
chart.invalidate();

这应该以编程方式消除所有偏移量。由于图表在调用该setData(...)方法时会自动调整其偏移量,为了保持偏移量,每次为图表设置新的数据对象时都需要调用该方法。

我也知道这很复杂,以后我会简化这个过程。

于 2015-01-16T20:36:28.260 回答
4

尝试这个...

pieChart.setExtraOffsets(-10,-10,-10,-10);
于 2017-11-15T05:01:00.253 回答
2

饼图不仅有 10 的默认偏移量,而且还增加了额外的空间,让您突出显示所选条目(请参阅 GitHub 上的此评论。要删除所有填充,您还需要删除所选条目的空间:

pieChart.setExtraOffsets(0, 0, 0, 0);

PieDataSet dataSet = new PieDataSet([..]);
dataSet.setSelectionShift(0f);
于 2020-02-16T18:10:52.457 回答
0

使用 MPCHART 的半饼图图像

您可以将偏移量设置为负值,如下所示:- transactionTrendPieChart.setExtraOffsets(0,-100,0,-150);

于 2018-04-10T06:33:24.833 回答
0

Andrew Briggschart.setMinOffset(0);回答对我有用。

于 2021-03-22T14:19:40.780 回答