@Override public float getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider) { float fillMin = 0f; float chartMaxY = dataProvider.getYChartMax(); float chartMinY = dataProvider.getYChartMin(); LineData data = dataProvider.getLineData(); if (dataSet.getYMax() > 0 && dataSet.getYMin() < 0) { fillMin = 0f; } else { float max, min; if (data.getYMax() > 0) max = 0f; else max = chartMaxY; if (data.getYMin() < 0) min = 0f; else min = chartMinY; fillMin = dataSet.getYMin() >= 0 ? min : max; } return fillMin; } }
public void setChartDataVisibility(View v, int k) { int interval_value = interval[position]; int y_count = 7; LineChart chart = v.findViewById(R.id.reslog_chart); if (chart != null && chart.getLineData() != null) { ILineDataSet data = chart.getLineData().getDataSetByIndex(k); data.setVisible(is_draw_enabled[k]); int max_value = 0; int min_value = maximum[position]; for (int i = 0; i < 4; i++) { if (is_draw_enabled[i]) { max_value = Math.max((int) chart.getLineData().getDataSetByIndex(i).getYMax(), max_value); min_value = Math.min((int) chart.getLineData().getDataSetByIndex(i).getYMin(), min_value); } } max_value = (int) (Math.ceil(max_value / (float) interval_value) * interval_value); min_value = (int) (Math.floor(min_value / (float) interval_value) * interval_value); int range = max_value - min_value; while (range % (y_count - 1) != 0) y_count -= 1; setChartYRange(chart, max_value, min_value, y_count, interval_value); chart.notifyDataSetChanged(); chart.invalidate(); } } }
@Override public float getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider) { float fillMin = 0f; float chartMaxY = dataProvider.getYChartMax(); float chartMinY = dataProvider.getYChartMin(); LineData data = dataProvider.getLineData(); if (dataSet.getYMax() > 0 && dataSet.getYMin() < 0) { fillMin = 0f; } else { float max, min; if (data.getYMax() > 0) max = 0f; else max = chartMaxY; if (data.getYMin() < 0) min = 0f; else min = chartMinY; fillMin = dataSet.getYMin() >= 0 ? min : max; } return fillMin; } }
@Override public float getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider) { float fillMin = 0f; float chartMaxY = dataProvider.getYChartMax(); float chartMinY = dataProvider.getYChartMin(); LineData data = dataProvider.getLineData(); if (dataSet.getYMax() > 0 && dataSet.getYMin() < 0) { fillMin = 0f; } else { float max, min; if (data.getYMax() > 0) max = 0f; else max = chartMaxY; if (data.getYMin() < 0) min = 0f; else min = chartMinY; fillMin = dataSet.getYMin() >= 0 ? min : max; } return fillMin; } }
@Override public float getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider) { float fillMin = 0f; float chartMaxY = dataProvider.getYChartMax(); float chartMinY = dataProvider.getYChartMin(); LineData data = dataProvider.getLineData(); if (dataSet.getYMax() > 0 && dataSet.getYMin() < 0) { fillMin = 0f; } else { float max, min; if (data.getYMax() > 0) max = 0f; else max = chartMaxY; if (data.getYMin() < 0) min = 0f; else min = chartMinY; fillMin = dataSet.getYMin() >= 0 ? min : max; } return fillMin; } }
if (dataSet.getYMax() > 0 && dataSet.getYMin() < 0) { fillMin = 0f; } else {