MPAndroid线形图-更改第一个和最后一个x轴值的填充

MPAndroid线形图-更改第一个和最后一个x轴值的填充,android,charts,mpandroidchart,Android,Charts,Mpandroidchart,我使用MPAndroidChart得到了以下折线图: 我使用以下方法: chart.setVisibleXRangeMaximum(5) 视口上只显示5个值,其余值将通过滚动显示 我也在使用这种方法: chart.setViewPortOffsets(0,25,0,40); 它删除左偏移和右偏移以使图表覆盖整个屏幕,并设置顶部和底部偏移以在放置它的容器之间留出空间 问题是,第一个和最后一个位置都隐藏在设备边界中。我认为,如果有一种方法可以为这些单独的值设置一个填充,那么问题就可以得到解决

我使用MPAndroidChart得到了以下折线图:

我使用以下方法:

chart.setVisibleXRangeMaximum(5)
视口上只显示5个值,其余值将通过滚动显示

我也在使用这种方法:

chart.setViewPortOffsets(0,25,0,40);
它删除左偏移和右偏移以使图表覆盖整个屏幕,并设置顶部和底部偏移以在放置它的容器之间留出空间

问题是,第一个和最后一个位置都隐藏在设备边界中。我认为,如果有一种方法可以为这些单独的值设置一个填充,那么问题就可以得到解决

我尝试使用一些方法来更改X轴的空间或偏移,但它们都不起作用

我试图创建一个完整的填充数据集覆盖整个屏幕的位置,但是第一个和最后一个值是在设备边界和值本身之间填充的

我的图表的全部代码如下所示:

    LineChart chart = view.findViewById(R.id.chartCalendar);

    // Setting up the data
    List<Entry> entries = new ArrayList<Entry>();
    entries.add(new Entry(1,1200));
    .....


    // Creating dataset
    LineDataSet dataSet = new LineDataSet(entries, "Label"); // add entries to dataset

    // Dataset styling
    dataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);
    dataSet.setDrawFilled(true);
    dataSet.setFillColor(ContextCompat.getColor(this.getActivity(), R.color.whiteBlue));
    dataSet.setColor(ContextCompat.getColor(this.getActivity(), R.color.darkBlue));
    dataSet.setLineWidth(2); // Line border thickness
    dataSet.setCircleColor(ContextCompat.getColor(this.getActivity(), R.color.darkBlue)); // Border circle values color

    // Setting up LineChart
    LineData lineData = new LineData(dataSet);

    // Styling chart
    chart.setData(lineData);
    chart.getAxisLeft().setDrawGridLines(false);
    chart.getAxisRight().setDrawGridLines(false);
    chart.getXAxis().setDrawGridLines(false);
    chart.getXAxis().setAxisMaximum(31);
    chart.setVisibleXRangeMaximum(5); // Show maximum 10 before scrolling
    chart.getLegend().setEnabled(false);
    chart.setDrawBorders(false);// Hide the description
    chart.getXAxis().setTextColor(ContextCompat.getColor(this.getActivity(), R.color.white)); // Change X-axis label color
    YAxis yAxis = chart.getAxisLeft();
    yAxis.setTextColor(ContextCompat.getColor(this.getActivity(), R.color.white)); // change Y-axis label color
    yAxis.setAxisLineColor(ContextCompat.getColor(this.getActivity(), R.color.darkBlue));
    yAxis.setTextColor(ContextCompat.getColor(this.getActivity(), R.color.white));
    // remove axis
    YAxis leftAxis = chart.getAxisLeft();
    leftAxis.setEnabled(false);
    YAxis rightAxis = chart.getAxisRight();
    rightAxis.setEnabled(false);

    // X axis to bottom
    chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
    chart.getLineData().setValueTextColor(ContextCompat.getColor(this.getActivity(), R.color.white)); // Change value color
    chart.getXAxis().setGranularity(1);
    chart.setViewPortOffsets(0,25,0,40);
    chart.getDescription().setEnabled(false);

    // Refresh graph
    chart.animateX(500);
LineChart chart=view.findviewbyd(R.id.chartCalendar);
//设置数据
列表项=新的ArrayList();
增加(新条目(11200));
.....
//创建数据集
LineDataSet数据集=新的LineDataSet(条目,“标签”);//向数据集添加条目
//数据集样式
setMode(LineDataSet.Mode.CUBIC_-BEZIER);
dataSet.setDrawFilled(true);
setFillColor(ContextCompat.getColor(this.getActivity(),R.color.whiteBlue));
setColor(ContextCompat.getColor(this.getActivity(),R.color.darkBlue));
dataSet.setLineWidth(2);//线边界厚度
dataSet.setCircleColor(ContextCompat.getColor(this.getActivity(),R.color.darkBlue));//边框圆值颜色
//设置线条图
LineData LineData=新的LineData(数据集);
//样式表
图表.setData(lineData);
getAxisLeft().setDrawGridLines(false);
getAxisRight().setDrawGridLines(false);
chart.getXAxis().setDrawGridLines(false);
chart.getXAxis().setAxisMaximum(31);
图表.设置可视范围最大值(5);//滚动前显示最大值10
chart.getLegend().setEnabled(false);
图表.setDrawBorders(假);//隐藏描述
chart.getXAxis().setTextColor(ContextCompat.getColor(this.getActivity(),R.color.white));//更改X轴标签颜色
YAxis YAxis=chart.getAxisLeft();
yAxis.setTextColor(ContextCompat.getColor(this.getActivity(),R.color.white));//更改Y轴标签颜色
setAxisLineColor(ContextCompat.getColor(this.getActivity(),R.color.darkBlue));
setextcolor(ContextCompat.getColor(this.getActivity(),R.color.white));
//移除轴
YAxis leftAxis=chart.getAxisLeft();
leftAxis.setEnabled(false);
YAxis rightAxis=chart.getAxisRight();
rightAxis.setEnabled(错误);
//X轴至底部
chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
chart.getLineData().setValueTextColor(ContextCompat.getColor(this.getActivity(),R.color.white));//更改值颜色
chart.getXAxis().setGranularity(1);
图表.SetViewPortOffset(0,25,0,40);
chart.getDescription().setEnabled(false);
//刷新图
图表.animateX(500);

你们知道怎么修吗?谢谢

我也面临同样的问题,你找到解决问题的办法了吗?