lecho.lib.hellocharts.model.LineChartData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hellocharts-library Show documentation
Show all versions of hellocharts-library Show documentation
Charting library for Android compatible with API 8+(Android 2.2).
The newest version!
package lecho.lib.hellocharts.model;
import java.util.ArrayList;
import java.util.List;
/**
* Data model for LineChartView.
*/
public class LineChartData extends AbstractChartData {
public static final float DEFAULT_BASE_VALUE = 0.0f;
private List lines = new ArrayList();
private float baseValue = DEFAULT_BASE_VALUE;
public LineChartData() {
}
public LineChartData(List lines) {
setLines(lines);
}
/**
* Copy constructor to perform deep copy of chart data.
*/
public LineChartData(LineChartData data) {
super(data);
this.baseValue = data.baseValue;
for (Line line : data.lines) {
this.lines.add(new Line(line));
}
}
public static LineChartData generateDummyData() {
final int numValues = 4;
LineChartData data = new LineChartData();
List values = new ArrayList(numValues);
values.add(new PointValue(0, 2));
values.add(new PointValue(1, 4));
values.add(new PointValue(2, 3));
values.add(new PointValue(3, 4));
Line line = new Line(values);
List lines = new ArrayList(1);
lines.add(line);
data.setLines(lines);
return data;
}
@Override
public void update(float scale) {
for (Line line : lines) {
line.update(scale);
}
}
@Override
public void finish() {
for (Line line : lines) {
line.finish();
}
}
public List getLines() {
return lines;
}
public LineChartData setLines(List lines) {
if (null == lines) {
this.lines = new ArrayList();
} else {
this.lines = lines;
}
return this;
}
/**
* @see #setBaseValue(float)
*/
public float getBaseValue() {
return baseValue;
}
/**
* Set value below which values will be drawn as negative, important attribute for drawing filled area charts, by
* default 0.
*/
public LineChartData setBaseValue(float baseValue) {
this.baseValue = baseValue;
return this;
}
}