Search in sources :

Example 1 with Series

use of com.jjoe64.graphview.series.Series in project GraphView by appsthatmatter.

the class SecondScale method calcCompleteRange.

/**
     * caches the complete range (minX, maxX, minY, maxY)
     * by iterating all series and all datapoints and
     * stores it into #mCompleteRange
     *
     * for the x-range it will respect the series on the
     * second scale - not for y-values
     */
public void calcCompleteRange() {
    List<Series> series = getSeries();
    mCompleteRange.set(0d, 0d, 0d, 0d);
    if (!series.isEmpty() && !series.get(0).isEmpty()) {
        double d = series.get(0).getLowestValueX();
        for (Series s : series) {
            if (!s.isEmpty() && d > s.getLowestValueX()) {
                d = s.getLowestValueX();
            }
        }
        mCompleteRange.left = d;
        d = series.get(0).getHighestValueX();
        for (Series s : series) {
            if (!s.isEmpty() && d < s.getHighestValueX()) {
                d = s.getHighestValueX();
            }
        }
        mCompleteRange.right = d;
        if (!series.isEmpty() && !series.get(0).isEmpty()) {
            d = series.get(0).getLowestValueY();
            for (Series s : series) {
                if (!s.isEmpty() && d > s.getLowestValueY()) {
                    d = s.getLowestValueY();
                }
            }
            mCompleteRange.bottom = d;
            d = series.get(0).getHighestValueY();
            for (Series s : series) {
                if (!s.isEmpty() && d < s.getHighestValueY()) {
                    d = s.getHighestValueY();
                }
            }
            mCompleteRange.top = d;
        }
    }
}
Also used : Series(com.jjoe64.graphview.series.Series)

Example 2 with Series

use of com.jjoe64.graphview.series.Series in project GraphView by appsthatmatter.

the class GraphView method onTouchEvent.

/**
     * will be called from Android system.
     *
     * @param event
     * @return
     */
@Override
public boolean onTouchEvent(MotionEvent event) {
    boolean b = mViewport.onTouchEvent(event);
    boolean a = super.onTouchEvent(event);
    // is it a click?
    if (mTapDetector.onTouchEvent(event)) {
        for (Series s : mSeries) {
            s.onTap(event.getX(), event.getY());
        }
        if (mSecondScale != null) {
            for (Series s : mSecondScale.getSeries()) {
                s.onTap(event.getX(), event.getY());
            }
        }
    }
    return b || a;
}
Also used : BaseSeries(com.jjoe64.graphview.series.BaseSeries) Series(com.jjoe64.graphview.series.Series)

Example 3 with Series

use of com.jjoe64.graphview.series.Series in project GraphView by appsthatmatter.

the class GraphView method setCursorMode.

public void setCursorMode(boolean b) {
    mIsCursorMode = b;
    if (mIsCursorMode) {
        if (mCursorMode == null) {
            mCursorMode = new CursorMode(this);
        }
    } else {
        mCursorMode = null;
        invalidate();
    }
    for (Series series : mSeries) {
        if (series instanceof BaseSeries) {
            ((BaseSeries) series).clearCursorModeCache();
        }
    }
}
Also used : BaseSeries(com.jjoe64.graphview.series.BaseSeries) Series(com.jjoe64.graphview.series.Series) BaseSeries(com.jjoe64.graphview.series.BaseSeries)

Example 4 with Series

use of com.jjoe64.graphview.series.Series in project GraphView by appsthatmatter.

the class GraphView method init.

/**
     * initialize the internal objects.
     * This method has to be called directly
     * in the constructors.
     */
protected void init() {
    mPreviewPaint = new Paint();
    mPreviewPaint.setTextAlign(Paint.Align.CENTER);
    mPreviewPaint.setColor(Color.BLACK);
    mPreviewPaint.setTextSize(50);
    mStyles = new Styles();
    mViewport = new Viewport(this);
    mGridLabelRenderer = new GridLabelRenderer(this);
    mLegendRenderer = new LegendRenderer(this);
    mSeries = new ArrayList<Series>();
    mPaintTitle = new Paint();
    mTapDetector = new TapDetector();
    loadStyles();
}
Also used : BaseSeries(com.jjoe64.graphview.series.BaseSeries) Series(com.jjoe64.graphview.series.Series) Paint(android.graphics.Paint)

Example 5 with Series

use of com.jjoe64.graphview.series.Series in project GraphView by appsthatmatter.

the class CursorMode method findCurrentDataPoint.

private void findCurrentDataPoint() {
    double selX = 0;
    mCurrentSelection.clear();
    for (Series series : mGraphView.getSeries()) {
        if (series instanceof BaseSeries) {
            DataPointInterface p = ((BaseSeries) series).findDataPointAtX(mPosX);
            if (p != null) {
                selX = p.getX();
                mCurrentSelection.put((BaseSeries) series, p);
            }
        }
    }
    if (!mCurrentSelection.isEmpty()) {
        mCurrentSelectionX = selX;
    }
}
Also used : BaseSeries(com.jjoe64.graphview.series.BaseSeries) Series(com.jjoe64.graphview.series.Series) BaseSeries(com.jjoe64.graphview.series.BaseSeries) DataPointInterface(com.jjoe64.graphview.series.DataPointInterface)

Aggregations

Series (com.jjoe64.graphview.series.Series)8 BaseSeries (com.jjoe64.graphview.series.BaseSeries)5 Paint (android.graphics.Paint)3 ArrayList (java.util.ArrayList)2 Point (android.graphics.Point)1 Rect (android.graphics.Rect)1 RectF (android.graphics.RectF)1 GraphView (com.jjoe64.graphview.GraphView)1 GraphViewSeries (com.jjoe64.graphview.GraphViewSeries)1 RectD (com.jjoe64.graphview.RectD)1 DataPointInterface (com.jjoe64.graphview.series.DataPointInterface)1 ParseException (java.text.ParseException)1 SimpleDateFormat (java.text.SimpleDateFormat)1 Calendar (java.util.Calendar)1 Date (java.util.Date)1 Iterator (java.util.Iterator)1 TreeSet (java.util.TreeSet)1 VisitModel (org.wordpress.android.ui.stats.models.VisitModel)1