MPAndroidChart - 删除顶部和底部空间

时间:2015-01-14 14:47:16

标签: android mpandroidchart

我正在使用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>

5 个答案:

答案 0 :(得分:4)

您是否尝试过调用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(...)方法时会自动调整偏移量,因此为了保持偏移量,每次为图表设置新的数据对象时都需要调用此方法。

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

答案 1 :(得分:2)

试试这个......

pieChart.setExtraOffsets(-10,-10,-10,-10);

答案 2 :(得分:1)

饼图不仅默认偏移量为10,而且还增加了额外的空间以突出显示 selected 条目(see this comment on GitHub。要删除所有填充,也要删除所选条目的空间:

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

PieDataSet dataSet = new PieDataSet([..]);
dataSet.setSelectionShift(0f);

答案 3 :(得分:0)

Half Pie Chart Image using MPCHART

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

答案 4 :(得分:0)

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