MPCharts条形图X标签,无法滚动

时间:2018-04-26 19:33:47

标签: android charts mpandroidchart

我正在制作一个条形图,如下面的代码所示。但是x标签“12:00”,“12:10”,......没有显示在图表上。只有第一个显示(“12:00”)。

我正面临另一个问题。我在同一页面上有两个图表,我无法向下滚动页面以查看仅部分显示的底部图表。

BarChart bchart = view.findViewById(R.id.barChart);
ArrayList<BarEntry> yVals1 = new ArrayList<BarEntry>();
yVals1.add(new BarEntry(0, 75));
yVals1.add(new BarEntry(10, 74));
yVals1.add(new BarEntry(20, 15));
yVals1.add(new BarEntry(30, 28));
yVals1.add(new BarEntry(40, 59));
yVals1.add(new BarEntry(50, 78));
yVals1.add(new BarEntry(60, 68));
yVals1.add(new BarEntry(70, 81));
yVals1.add(new BarEntry(80, 98));
yVals1.add(new BarEntry(90, 42));
yVals1.add(new BarEntry(100, 100));
BarDataSet set1;

//setting color
set1 = new BarDataSet(yVals1, "Satisfaction %");
set1.setColors(ColorTemplate.MATERIAL_COLORS);
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
dataSets.add(set1);


String [] values = {"12:00", "12:10", "12:20", "12:30", "12:40", "12:50", "13:00"};
bchart.getXAxis().setValueFormatter(new IndexAxisValueFormatter(values));
//Removing description
Description description = new Description();
description.setText("");
bchart.setDescription(description);
//Removing right y axis labels
YAxis rightYAxis = bchart.getAxisRight();
rightYAxis.setEnabled(false);
//Removing grid background
bchart.setDrawGridBackground(false);
BarData data = new BarData(dataSets);
data.setValueTextSize(10f);
data.setBarWidth(5f);
bchart.setTouchEnabled(false);
bchart.getAxisRight().setDrawLabels(false);
bchart.getXAxis().setDrawLabels(true);
bchart.getLegend().setEnabled(false);
bchart.setData(data);

1 个答案:

答案 0 :(得分:0)

对于第一个问题,请遵循以下代码:

    ArrayList<String> labels = new ArrayList<String> ();

    labels.add( "12:00");
    labels.add( "12:10");
    labels.add( "12:20");
    labels.add( "12:30");
    labels.add( "12:40");
    labels.add( "12:50");

    XAxis xAxis = chart.getXAxis();
    xAxis.setValueFormatter(new IndexAxisValueFormatter(labels));

对于第二个问题,您需要在view.xml中实现scrollview作为您创建图表视图的布局的父视图。