如何从mpandroidchart的水平条形图中删除填充?

Agr*_*909 8 android bar-chart 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;
Run Code Online (Sandbox Code Playgroud)

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

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

首次发布时看起来像 -

截屏: 在此输入图像描述

点击后看起来像 -

屏幕截图2: 在此输入图像描述

Phi*_*oda 14

如果您还没有,请更新到最新版本的库.然后,只需从图表中删除所有偏移量.它在文档中.

呼叫:

chart.setViewPortOffsets(0f, 0f, 0f, 0f);
Run Code Online (Sandbox Code Playgroud)

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

Nik*_*ber 7

填充删除适用于

chart.setViewPortOffsets(0f, 0f, 0f, 0f);
Run Code Online (Sandbox Code Playgroud)

但如果效果仅在触摸后出现,请尝试以这种方式使图表视图无效(在设置数据后):

post(new Runnable() {
    @Override
    public void run() {
        chartView.invalidate();
    }
});
Run Code Online (Sandbox Code Playgroud)


Hag*_*rje 5

    YAxis yl = chart.getAxisLeft();
    yl.setSpaceTop(20f);
Run Code Online (Sandbox Code Playgroud)