/
NikolayIvkin
/
MPAndroidChart1
Обзор
Документация
Войти
/
NikolayIvkin
/
MPAndroidChart1
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
MPChartLib/src/main/java/com/github/mikephil/charting/data/ScatterDataSet.java
156 строк
5 KB
Daniel Cohen Gindi
Renamed values -> entries for consistency
22 янв 2020, 15:24
22 янв 2020, 15:24
14456f4
Код
Авторство
О чём код?
package com.github.mikephil.charting.data; import com.github.mikephil.charting.charts.ScatterChart; import com.github.mikephil.charting.interfaces.datasets.IScatterDataSet; import com.github.mikephil.charting.renderer.scatter.ChevronDownShapeRenderer; import com.github.mikephil.charting.renderer.scatter.ChevronUpShapeRenderer; import com.github.mikephil.charting.renderer.scatter.CircleShapeRenderer; import com.github.mikephil.charting.renderer.scatter.CrossShapeRenderer; import com.github.mikephil.charting.renderer.scatter.IShapeRenderer; import com.github.mikephil.charting.renderer.scatter.SquareShapeRenderer; import com.github.mikephil.charting.renderer.scatter.TriangleShapeRenderer; import com.github.mikephil.charting.renderer.scatter.XShapeRenderer; import com.github.mikephil.charting.utils.ColorTemplate; import java.util.ArrayList; import java.util.List; public class ScatterDataSet extends LineScatterCandleRadarDataSet<Entry> implements IScatterDataSet { /** * the size the scattershape will have, in density pixels */ private float mShapeSize = 15f; /** * Renderer responsible for rendering this DataSet, default: square */ protected IShapeRenderer mShapeRenderer = new SquareShapeRenderer(); /** * The radius of the hole in the shape (applies to Square, Circle and Triangle) * - default: 0.0 */ private float mScatterShapeHoleRadius = 0f; /** * Color for the hole in the shape. * Setting to `ColorTemplate.COLOR_NONE` will behave as transparent. * - default: ColorTemplate.COLOR_NONE */ private int mScatterShapeHoleColor = ColorTemplate.COLOR_NONE; public ScatterDataSet(List<Entry> yVals, String label) { super(yVals, label); } @Override public DataSet<Entry> copy() { List<Entry> entries = new ArrayList<Entry>(); for (int i = 0; i < mEntries.size(); i++) { entries.add(mEntries.get(i).copy()); } ScatterDataSet copied = new ScatterDataSet(entries, getLabel()); copy(copied); return copied; } protected void copy(ScatterDataSet scatterDataSet) { super.copy(scatterDataSet); scatterDataSet.mShapeSize = mShapeSize; scatterDataSet.mShapeRenderer = mShapeRenderer; scatterDataSet.mScatterShapeHoleRadius = mScatterShapeHoleRadius; scatterDataSet.mScatterShapeHoleColor = mScatterShapeHoleColor; } /** * Sets the size in density pixels the drawn scattershape will have. This * only applies for non custom shapes. * * @param size */ public void setScatterShapeSize(float size) { mShapeSize = size; } @Override public float getScatterShapeSize() { return mShapeSize; } /** * 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); } /** * Sets a new IShapeRenderer responsible for drawing this DataSet. * This can also be used to set a custom IShapeRenderer aside from the default ones. * * @param shapeRenderer */ public void setShapeRenderer(IShapeRenderer shapeRenderer) { mShapeRenderer = shapeRenderer; } @Override public IShapeRenderer getShapeRenderer() { return mShapeRenderer; } /** * Sets the radius of the hole in the shape (applies to Square, Circle and Triangle) * Set this to <= 0 to remove holes. * * @param holeRadius */ public void setScatterShapeHoleRadius(float holeRadius) { mScatterShapeHoleRadius = holeRadius; } @Override public float getScatterShapeHoleRadius() { return mScatterShapeHoleRadius; } /** * Sets the color for the hole in the shape. * * @param holeColor */ public void setScatterShapeHoleColor(int holeColor) { mScatterShapeHoleColor = holeColor; } @Override public int getScatterShapeHoleColor() { return mScatterShapeHoleColor; } public static IShapeRenderer getRendererForShape(ScatterChart.ScatterShape shape) { switch (shape) { case SQUARE: return new SquareShapeRenderer(); case CIRCLE: return new CircleShapeRenderer(); case TRIANGLE: return new TriangleShapeRenderer(); case CROSS: return new CrossShapeRenderer(); case X: return new XShapeRenderer(); case CHEVRON_UP: return new ChevronUpShapeRenderer(); case CHEVRON_DOWN: return new ChevronDownShapeRenderer(); } return null; } }