本文整理汇总了Java中com.github.mikephil.charting.data.LineDataSet.getYVals方法的典型用法代码示例。如果您正苦于以下问题:Java LineDataSet.getYVals方法的具体用法?Java LineDataSet.getYVals怎么用?Java LineDataSet.getYVals使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.github.mikephil.charting.data.LineDataSet
的用法示例。
在下文中一共展示了LineDataSet.getYVals方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: refreshData
import com.github.mikephil.charting.data.LineDataSet; //导入方法依赖的package包/类
private void refreshData() {
LineData data = lineChart.getData();
if (data != null) {
LineDataSet set = (LineDataSet) data.getDataSetByIndex(0);
if (set == null) {
set = createSet();
data.addDataSet(set);
}
if (set.getEntryCount() == timeframe) {
data.removeXValue(0);
set.removeEntry(0);
for (Entry entry : set.getYVals()) {
entry.setXIndex(entry.getXIndex() - 1);
}
}
// add x-value
Date date = new Date();
Calendar calendar = GregorianCalendar.getInstance();
calendar.setTime(date);
int inthours = calendar.get(Calendar.HOUR_OF_DAY);
int intminute = calendar.get(Calendar.MINUTE);
String hourString = String.format("%02d:", inthours);
String minuteString = String.format("%02d", intminute);
XAxisTimeValue.add(hourString + minuteString);
data.addXValue(XAxisTimeValue.get(data.getXValCount()));
// choose a dataSet
//RealmResults<BGdata> results = realm.allObjects(BGdata.class);
//RealmLineDataSet(RealmResults<T> results, "calculated_value")
//RealmLineDataSet<BGdata> dataSet = new RealmLineDataSet<BGdata>(results, "calculated_value");
//RealmLineData dataset = new RealmLineData(results, "calculated_value", (List<ILineDataSet>) data);
//lineChart.setData(dataset);
data.addEntry(new Entry((float) calculated_value, set.getEntryCount()), 0);
lineChart.notifyDataSetChanged();
lineChart.setVisibleYRangeMaximum((float) calculated_value, YAxis.AxisDependency.LEFT);
// this automatically refreshes the chart (calls invalidate())
lineChart.moveViewTo(data.getXValCount(), (float) calculated_value, YAxis.AxisDependency.LEFT);
}
}
示例2: drawDataSet
import com.github.mikephil.charting.data.LineDataSet; //导入方法依赖的package包/类
protected void drawDataSet(Canvas c, LineDataSet dataSet) {
List<Entry> entries = dataSet.getYVals();
if (entries.size() < 1)
return;
mRenderPaint.setStrokeWidth(dataSet.getLineWidth());
mRenderPaint.setPathEffect(dataSet.getDashPathEffect());
// if drawing cubic lines is enabled
if (dataSet.isDrawCubicEnabled()) {
drawCubic(c, dataSet, entries);
// draw normal (straight) lines
} else {
drawLinear(c, dataSet, entries);
}
mRenderPaint.setPathEffect(null);
}
示例3: drawCircles
import com.github.mikephil.charting.data.LineDataSet; //导入方法依赖的package包/类
protected void drawCircles(Canvas c) {
mRenderPaint.setStyle(Paint.Style.FILL);
float phaseX = mAnimator.getPhaseX();
float phaseY = mAnimator.getPhaseY();
List<LineDataSet> dataSets = mChart.getLineData().getDataSets();
for (int i = 0; i < dataSets.size(); i++) {
LineDataSet dataSet = dataSets.get(i);
if (!dataSet.isVisible() || !dataSet.isDrawCirclesEnabled())
continue;
mCirclePaintInner.setColor(dataSet.getCircleHoleColor());
Transformer trans = mChart.getTransformer(dataSet.getAxisDependency());
List<Entry> entries = dataSet.getYVals();
Entry entryFrom = dataSet.getEntryForXIndex((mMinX < 0) ? 0 : mMinX);
Entry entryTo = dataSet.getEntryForXIndex(mMaxX);
int minx = Math.max(dataSet.getEntryPosition(entryFrom), 0);
int maxx = Math.min(dataSet.getEntryPosition(entryTo) + 1, entries.size());
CircleBuffer buffer = mCircleBuffers[i];
buffer.setPhases(phaseX, phaseY);
buffer.limitFrom(minx);
buffer.limitTo(maxx);
buffer.feed(entries);
trans.pointValuesToPixel(buffer.buffer);
float halfsize = dataSet.getCircleSize() / 2f;
for (int j = 0, count = (int) Math.ceil((maxx - minx) * phaseX + minx) * 2; j < count; j += 2) {
float x = buffer.buffer[j];
float y = buffer.buffer[j + 1];
if (!mViewPortHandler.isInBoundsRight(x))
break;
// make sure the circles don't do shitty things outside
// bounds
if (!mViewPortHandler.isInBoundsLeft(x) || !mViewPortHandler.isInBoundsY(y))
continue;
int circleColor = dataSet.getCircleColor(j / 2 + minx);
mRenderPaint.setColor(circleColor);
c.drawCircle(x, y, dataSet.getCircleSize(),
mRenderPaint);
if (dataSet.isDrawCircleHoleEnabled()
&& circleColor != mCirclePaintInner.getColor())
c.drawCircle(x, y,
halfsize,
mCirclePaintInner);
}
}
}
示例4: drawValues
import com.github.mikephil.charting.data.LineDataSet; //导入方法依赖的package包/类
@Override
public void drawValues(Canvas c) {
if (mChart.getLineData().getYValCount() < mChart.getMaxVisibleCount()
* mViewPortHandler.getScaleX()) {
List<LineDataSet> dataSets = mChart.getLineData().getDataSets();
for (int i = 0; i < dataSets.size(); i++) {
LineDataSet dataSet = dataSets.get(i);
if (!dataSet.isDrawValuesEnabled() || dataSet.getEntryCount() == 0)
continue;
// apply the text-styling defined by the DataSet
applyValueTextStyle(dataSet);
Transformer trans = mChart.getTransformer(dataSet.getAxisDependency());
// make sure the values do not interfear with the circles
int valOffset = (int) (dataSet.getCircleSize() * 1.75f);
if (!dataSet.isDrawCirclesEnabled())
valOffset = valOffset / 2;
List<Entry> entries = dataSet.getYVals();
Entry entryFrom = dataSet.getEntryForXIndex(mMinX);
Entry entryTo = dataSet.getEntryForXIndex(mMaxX);
int minx = Math.max(dataSet.getEntryPosition(entryFrom), 0);
int maxx = Math.min(dataSet.getEntryPosition(entryTo) + 1, entries.size());
float[] positions = trans.generateTransformedValuesLine(
entries, mAnimator.getPhaseX(), mAnimator.getPhaseY(), minx, maxx);
for (int j = 0; j < positions.length; j += 2) {
float x = positions[j];
float y = positions[j + 1];
if (!mViewPortHandler.isInBoundsRight(x))
break;
if (!mViewPortHandler.isInBoundsLeft(x) || !mViewPortHandler.isInBoundsY(y))
continue;
Entry entry = entries.get(j / 2 + minx);
drawValue(c, dataSet.getValueFormatter(), entry.getVal(), entry, i, x,
y - valOffset);
}
}
}
}