protected void drawDataSet(Canvas c, ILineDataSet dataSet) { if (dataSet.getEntryCount() < 1) return; mRenderPaint.setStrokeWidth(dataSet.getLineWidth()); mRenderPaint.setPathEffect(dataSet.getDashPathEffect()); switch (dataSet.getMode()) { default: case LINEAR: case STEPPED: drawLinear(c, dataSet); break; case CUBIC_BEZIER: drawCubicBezier(dataSet); break; case HORIZONTAL_BEZIER: drawHorizontalBezier(dataSet); break; } mRenderPaint.setPathEffect(null); }
private void removeLastEntry() { LineData data = chart.getData(); if (data != null) { ILineDataSet set = data.getDataSetByIndex(0); if (set != null) { Entry e = set.getEntryForXValue(set.getEntryCount() - 1, Float.NaN); data.removeEntry(e, 0); // or remove by index // mData.removeEntryByXValue(xIndex, dataSetIndex); data.notifyDataChanged(); chart.notifyDataSetChanged(); chart.invalidate(); } } }
dataSet.getEntryCount() == 0) continue;
private void addEntry() { LineData data = chart.getData(); if (data != null) { ILineDataSet set = data.getDataSetByIndex(0); // set.addEntry(...); // can be called as well if (set == null) { set = createSet(); data.addDataSet(set); } data.addEntry(new Entry(set.getEntryCount(), (float) (Math.random() * 40) + 30f), 0); data.notifyDataChanged(); // let the chart know it's data has changed chart.notifyDataSetChanged(); // limit the number of visible entries chart.setVisibleXRangeMaximum(120); // chart.setVisibleYRange(30, AxisDependency.LEFT); // move to the latest entry chart.moveViewToX(data.getEntryCount()); // this automatically refreshes the chart (calls invalidate()) // chart.moveViewTo(data.getXValCount()-7, 55f, // AxisDependency.LEFT); } }
private void addDataSet() { LineData data = chart.getData(); if (data == null) { chart.setData(new LineData()); } else { int count = (data.getDataSetCount() + 1); int amount = data.getDataSetByIndex(0).getEntryCount(); ArrayList<Entry> values = new ArrayList<>(); for (int i = 0; i < amount; i++) { values.add(new Entry(i, (float) (Math.random() * 50f) + 50f * count)); } LineDataSet set = new LineDataSet(values, "DataSet " + count); set.setLineWidth(2.5f); set.setCircleRadius(4.5f); int color = colors[count % colors.length]; set.setColor(color); set.setCircleColor(color); set.setHighLightColor(color); set.setValueTextSize(10f); set.setValueTextColor(color); data.addDataSet(set); data.notifyDataChanged(); chart.notifyDataSetChanged(); chart.invalidate(); } }
float value = (float) (Math.random() * 50) + 50f * (randomDataSetIndex + 1); data.addEntry(new Entry(randomSet.getEntryCount(), value), randomDataSetIndex); data.notifyDataChanged();
cur = nextIndex == j ? next : dataSet.getEntryForIndex(j); nextIndex = j + 1 < dataSet.getEntryCount() ? j + 1 : j; next = dataSet.getEntryForIndex(nextIndex);
if (!shouldDrawValues(dataSet) || dataSet.getEntryCount() < 1) continue;
int entryCount = dataSet.getEntryCount();
/** * 动态添加数据(多条折线图) * * @param numbers */ public void addEntry(List<Integer> numbers) { if (lineDataSets.get(0).getEntryCount() == 0) { lineData = new LineData(lineDataSets); lineChart.setData(lineData); } if (timeList.size() > 11) { timeList.clear(); } timeList.add(df.format(System.currentTimeMillis())); for (int i = 0; i < numbers.size(); i++) { Entry entry = new Entry(lineDataSet.getEntryCount(), numbers.get(i)); lineData.addEntry(entry, i); lineData.notifyDataChanged(); lineChart.notifyDataSetChanged(); lineChart.setVisibleXRangeMaximum(6); lineChart.moveViewToX(lineData.getEntryCount() - 5); } }
public void addEntry(float value) { LineData data = mChart.getData(); if (data != null){ ILineDataSet set = data.getDataSetByIndex(0); // set.addEntry(...); // can be called as well if (set == null) { set = createSet(); data.addDataSet(set); } data.addEntry(new Entry(set.getEntryCount(),value),0); Log.w("anjing", set.getEntryForIndex(set.getEntryCount()-1).toString()); data.notifyDataChanged(); // let the chart know it's data has changed mChart.notifyDataSetChanged(); // limit the number of visible entries mChart.setVisibleXRangeMaximum(10); // mChart.setVisibleYRange(30, AxisDependency.LEFT); // move to the latest entry mChart.moveViewTo(set.getEntryCount()-1, data.getYMax(), YAxis.AxisDependency.LEFT); // this automatically refreshes the chart (calls invalidate()) // mChart.moveViewTo(data.getXValCount()-7, 55f, // AxisDependency.LEFT); } }
if (dataSet.getEntryCount() != 0) {
protected void drawDataSet(Canvas c, ILineDataSet dataSet) { if (dataSet.getEntryCount() < 1) return; mRenderPaint.setStrokeWidth(dataSet.getLineWidth()); mRenderPaint.setPathEffect(dataSet.getDashPathEffect()); switch (dataSet.getMode()) { default: case LINEAR: case STEPPED: drawLinear(c, dataSet); break; case CUBIC_BEZIER: drawCubicBezier(dataSet); break; case HORIZONTAL_BEZIER: drawHorizontalBezier(dataSet); break; } mRenderPaint.setPathEffect(null); }
protected void drawDataSet(Canvas c, ILineDataSet dataSet) { if (dataSet.getEntryCount() < 1) return; mRenderPaint.setStrokeWidth(dataSet.getLineWidth()); mRenderPaint.setPathEffect(dataSet.getDashPathEffect()); switch (dataSet.getMode()) { default: case LINEAR: case STEPPED: drawLinear(c, dataSet); break; case CUBIC_BEZIER: drawCubicBezier(dataSet); break; case HORIZONTAL_BEZIER: drawHorizontalBezier(dataSet); break; } mRenderPaint.setPathEffect(null); }
protected void drawDataSet(Canvas c, ILineDataSet dataSet) { if (dataSet.getEntryCount() < 1) return; mRenderPaint.setStrokeWidth(dataSet.getLineWidth()); mRenderPaint.setPathEffect(dataSet.getDashPathEffect()); switch (dataSet.getMode()) { default: case LINEAR: case STEPPED: drawLinear(c, dataSet); break; case CUBIC_BEZIER: drawCubicBezier(dataSet); break; case HORIZONTAL_BEZIER: drawHorizontalBezier(dataSet); break; } mRenderPaint.setPathEffect(null); }
protected void drawDataSet(Canvas c, ILineDataSet dataSet) { if (dataSet.getEntryCount() < 1) { return; } mRenderPaint.setStrokeWidth(dataSet.getLineWidth()); mRenderPaint.setPathEffect(dataSet.getDashPathEffect()); switch (dataSet.getMode()) { default: case LINEAR: case STEPPED: drawLinear(c, dataSet); break; case CUBIC_BEZIER: drawCubicBezier(dataSet); break; case HORIZONTAL_BEZIER: drawHorizontalBezier(dataSet); break; } mRenderPaint.setPathEffect(null); }
private void removeLastEntry() { LineData data = mChart.getData(); if (data != null) { ILineDataSet set = data.getDataSetByIndex(0); if (set != null) { // Entry e = set.getEntryForXValue(set.getEntryCount() - 1); // TODO Entry e = set.getEntryForXValue(set.getEntryCount() - 1, 1f); data.removeEntry(e, 0); // or remove by index // mData.removeEntryByXValue(xIndex, dataSetIndex); data.notifyDataChanged(); mChart.notifyDataSetChanged(); mChart.invalidate(); } } }
private void addEntry() { LineData data = mChart.getData(); ILineDataSet set = data.getDataSetByIndex(0); // set.addEntry(...); // can be called as well if (set == null) { set = createSet(); data.addDataSet(set); } // choose a random dataSet int randomDataSetIndex = (int) (Math.random() * data.getDataSetCount()); float yValue = (float) (Math.random() * 10) + 50f; data.addEntry(new Entry(data.getDataSetByIndex(randomDataSetIndex).getEntryCount(), yValue), randomDataSetIndex); data.notifyDataChanged(); // let the chart know it's data has changed mChart.notifyDataSetChanged(); mChart.setVisibleXRangeMaximum(6); //mChart.setVisibleYRangeMaximum(15, AxisDependency.LEFT); // // // this automatically refreshes the chart (calls invalidate()) mChart.moveViewTo(data.getEntryCount() - 7, 50f, AxisDependency.LEFT); }
dataSet.getEntryCount() == 0) continue;
private void addEntry() { if (mChart == null){ return; } LineData data = mChart.getData(); if (data != null) { ILineDataSet set = data.getDataSetByIndex(0); // set.addEntry(...); // can be called as well if (set == null) { set = createSet(); data.addDataSet(set); } data.addEntry(new Entry(set.getEntryCount(), (float) (Math.random() * 40) + 30f), 0); data.notifyDataChanged(); // let the chart know it's data has changed mChart.notifyDataSetChanged(); // limit the number of visible entries mChart.setVisibleXRangeMaximum(120); // mChart.setVisibleYRange(30, AxisDependency.LEFT); // move to the latest entry mChart.moveViewToX(data.getEntryCount()); // this automatically refreshes the chart (calls invalidate()) // mChart.moveViewTo(data.getXValCount()-7, 55f, // AxisDependency.LEFT); } }