我使用组合图表,它结合了线条(RED)和散点图。但是由于某些原因,散点图点在图表边缘被裁剪,例如:
有没有办法阻止它?
这是我的图表代码:
chart.getAxisLeft().setAxisMaxValue(1.1f);
chart.getLegend().setEnabled(false);
chart.setTouchEnabled(false);
chart.setDragEnabled(false);
chart.setScaleEnabled(false);
chart.setPinchZoom(false);
chart.setDoubleTapToZoomEnabled(false);
chart.setHighlightPerDragEnabled(false);
chart.setHighlightPerTapEnabled(false);
chart.getAxisRight().setEnabled(false);
chart.getAxisLeft().setEnabled(false);
chart.getXAxis().setEnabled(false);
chart.setDescription("");
chart.setNoDataText("");
和我的分散数据集:
foodDataSet = new ScatterDataSet(foodEntries, "Food");
foodDataSet.setColor(ContextCompat.getColor(getContext(), R.color.green_main));
foodDataSet.setScatterShape(ScatterChart.ScatterShape.CIRCLE);
foodDataSet.setScatterShapeSize(10f);
foodDataSet.setDrawValues(false);
foodDataSet.setAxisDependency(YAxis.AxisDependency.LEFT);
答案 0 :(得分:1)
经过一些尝试,我能够找到解决问题的黑客。然而,如果可以建议适当的解决方案将是好的。目前的解决方案
chart.setData(data);
chart.getXAxis().setAxisMinValue(-0.1f);
chart.setVisibleXRangeMinimum(xAxisLabels.size() - 0.81f);
chart.invalidate();
如果使用更大的数据点,则应增加最小值,但也需要更新最小可见x范围。减少减法值以增加偏移量。
这种解决方案的缺点是它不能很好地扩展
答案 1 :(得分:0)
如果还有其他人遇到这个问题,这就是我根据条目数使我的规模扩大的方法。假设每个数据集的条目数相同,而您的特定数据可能相同,也可能不相同。
float xAxisSideOffset = (float)(xMax - xMin) / (data.getEntryCount()/data.getDataSetCount());
combinedChart.getXAxis().setAxisMinimum(xMin - timeInterval - xAxisSideOffset/2);
combinedChart.getXAxis().setAxisMaximum(xMax - timeInterval + xAxisSideOffset/2);