/** * ###### ###### DATA RELATED METHODS ###### ###### */ @Override public int getIndexInEntries(int xIndex) { for (int i = 0; i < getEntryCount(); i++) { if (xIndex == getEntryForIndex(i).getX()) return i; } return -1; }
@Override protected void calcMinMax(CandleEntry e) { if (e.getLow() < mYMin) mYMin = e.getLow(); if (e.getHigh() > mYMax) mYMax = e.getHigh(); calcMinMaxX(e); }
@Override protected void calcMinMax(BubbleEntry e) { super.calcMinMax(e); final float size = e.getSize(); if (size > mMaxSize) { mMaxSize = size; } }
@Override public void notifyDataChanged() { if (mLineData != null) mLineData.notifyDataChanged(); if (mBarData != null) mBarData.notifyDataChanged(); if (mCandleData != null) mCandleData.notifyDataChanged(); if (mScatterData != null) mScatterData.notifyDataChanged(); if (mBubbleData != null) mBubbleData.notifyDataChanged(); calcMinMax(); // recalculate everything }
/** * Returns the value of this BarEntry. If the entry is stacked, it returns the positive sum of all values. * * @return */ @Override public float getY() { return super.getY(); }
/** * Set the array of values this BarEntry should represent. * * @param vals */ public void setVals(float[] vals) { setY(calcSum(vals)); mYVals = vals; calcPosNegSum(); calcRanges(); }
@Override public boolean removeFirst() { if (getEntryCount() > 0) { T entry = getEntryForIndex(0); return removeEntry(entry); } else return false; }
@Override public boolean removeDataSet(IBarLineScatterCandleBubbleDataSet<? extends Entry> d) { List<BarLineScatterCandleBubbleData> datas = getAllData(); boolean success = false; for (ChartData data : datas) { success = data.removeDataSet(d); if (success) { break; } } return success; }
/** * Updates the min and max x and y value of this DataSet based on the given Entry. * * @param e */ protected void calcMinMax(T e) { if (e == null) return; calcMinMaxX(e); calcMinMaxY(e); }
/** * Enables / disables both vertical and horizontal highlight-indicators. * @param enabled */ public void setDrawHighlightIndicators(boolean enabled) { setDrawVerticalHighlightIndicator(enabled); setDrawHorizontalHighlightIndicator(enabled); }
/** * Constructor taking single or multiple DataSet objects. * * @param dataSets */ public ChartData(T... dataSets) { mDataSets = arrayToList(dataSets); notifyDataChanged(); }
/** * Call this method to let the ChartData know that the underlying data has * changed. Calling this performs all necessary recalculations needed when * the contained data has changed. */ public void notifyDataChanged() { calcMinMax(); }
/** * Sets the ScatterShape this DataSet should be drawn with. This will search for an available IShapeRenderer and set this * renderer for the DataSet. * * @param shape */ public void setScatterShape(ScatterChart.ScatterShape shape) { mShapeRenderer = getRendererForShape(shape); }
@Override protected void calcMinMax(PieEntry e) { if (e == null) return; calcMinMaxY(e); }
/** * returns the current y-max value across all DataSets * * @return */ public float getYMax() { return mData.getYMax(); }
protected void copy(LineScatterCandleRadarDataSet lineScatterCandleRadarDataSet) { super.copy(lineScatterCandleRadarDataSet); lineScatterCandleRadarDataSet.mDrawHorizontalHighlightIndicator = mDrawHorizontalHighlightIndicator; lineScatterCandleRadarDataSet.mDrawVerticalHighlightIndicator = mDrawVerticalHighlightIndicator; lineScatterCandleRadarDataSet.mHighlightLineWidth = mHighlightLineWidth; lineScatterCandleRadarDataSet.mHighlightDashPathEffect = mHighlightDashPathEffect; } }
/** * * @param dataSet */ protected void copy(DataSet dataSet) { super.copy(dataSet); }
protected void copy(BarDataSet barDataSet) { super.copy(barDataSet); barDataSet.mStackSize = mStackSize; barDataSet.mBarShadowColor = mBarShadowColor; barDataSet.mBarBorderWidth = mBarBorderWidth; barDataSet.mStackLabels = mStackLabels; barDataSet.mHighLightAlpha = mHighLightAlpha; }