2015-04-23 42 views
3

我想制作一个涵盖整个父级布局但不是它的水平条形图。以下是我的代码 -如何从mpandroidchart的水平条形图中移除填充?

HorizontalBarChart barchart = new HorizontalBarChart(activity); 
barchart.setLayoutParams(new LinearLayout.LayoutParams(0, 110, weight)); 

ArrayList<BarEntry> entries = new ArrayList<BarEntry>(); 
entries.add(new BarEntry(86.0f, 0)); 

BarDataSet dataset = new BarDataSet(entries, ""); 
dataset.setColor(Color.parseColor("#E0E0E0")); 

ArrayList<String> labels = new ArrayList<String>(); 
labels.add("86.0"); 

BarData bardata = new BarData(labels, dataset); 
barchart.setData(bardata); 
barchart.setDescription(""); 

Legend legend = barchart.getLegend(); 
legend.setEnabled(false); 

YAxis topAxis = barchart.getAxisLeft(); 
topAxis.setDrawLabels(false); 

YAxis bottomAxis = barchart.getAxisRight(); 
bottomAxis.setDrawLabels(false); 

XAxis rightAxis = barchart.getXAxis(); 
rightAxis.setDrawLabels(false); 
bottomAxis.setDrawLabels(false); 

barchart.setPadding(-1, -1, -1, -1); 
barchart.setBackgroundColor(Color.CYAN); 

return barchart; 

我想让我的水平条形图(条形图)填满整个蓝色区域。有人可以请帮助。

编辑:@PhilippJahoda我试过你的解决方案,但在第一次启动时,它显示的方式与之前一样,当我点击/触摸图表时只会覆盖整个区域。你能告诉我为什么我必须触摸图表才能填满整个空间。

在首次启动时,它看起来像 -

屏幕截图:它看起来enter image description here

点击后像 -

屏幕SHOT2:enter image description here

回答

7

更新到库中,如果最新版本你还没有。 然后,只需从图表中删除所有偏移。它在documentation

电话:

chart.setViewPortOffsets(0f, 0f, 0f, 0f); 
+1

请看到我的编辑 – Agr1909

+0

请看到我的编辑 – Agr1909

+2

它这是我遇到的同样的问题。我在设置图表数据后调用chart.setViewPortOffset(100f,0f,100f,0f)..但是只有在点击图表后我的编辑才会生效。任何解决方案@PhilippJahoda?我有最新的mpchart lib版本。 –

0
YAxis yl = chart.getAxisLeft(); 
    yl.setSpaceTop(20f); 
2

的填充移除可与

chart.setViewPortOffsets(0f, 0f, 0f, 0f); 

但如果效果只有触摸之后出现,尝试无效图表视图(设置数据后)这样:

post(new Runnable() { 
    @Override 
    public void run() { 
     chartView.invalidate(); 
    } 
}); 
0

Best w AY控制填充我的感觉是:

  1. 将所有的偏移量为0

    chart.setViewPortOffsets(0F,0F,0F,0F);

  2. 从XML控制填充

    com.github.mikephil.charting.charts.LineChart 机器人:ID = “@ + ID /图表” 机器人:layout_width = “match_parent” 机器人:layout_height = “500dp” 机器人:layout_marginTop = “10dp” 机器人:layout_marginLeft = “10dp” 机器人:layout_marginBottom = “10dp”