gpt4 book ai didi

android - MPAndroid LineChart - 更改第一个和最后一个 x 轴值的填充

转载 作者:行者123 更新时间:2023-12-05 07:30:28 26 4
gpt4 key购买 nike

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

Print of the first X position

Print of the last X position

我正在使用以下方法:

chart.setVisibleXRangeMaximum(5)

在视口(viewport)上只显示 5 个值,其余值将通过滚动显示。

我也在用这个方法:

chart.setViewPortOffsets(0,25,0,40);

它删除左右偏移量以使图表覆盖整个屏幕并设置顶部和底部偏移量以在其放置的容器之间留出空间。

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

我尝试使用一些方法来改变X轴的空间或偏移量,但都没有用。

我正在尝试创建 a chart like this整个填充数据集覆盖整个屏幕,但第一个和最后一个值放置在设备边框和值本身之间的填充。

我图表的全部代码如下:

    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);

你们知道如何修复它吗?谢谢!

最佳答案

要避免第一个和最后一个值被剪裁,请使用 your_chart.xAxis.setAvoidFirstLastClipping(true)

关于android - MPAndroid LineChart - 更改第一个和最后一个 x 轴值的填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52277015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com