本文整理汇总了Java中com.github.mikephil.charting.data.BubbleEntry类的典型用法代码示例。如果您正苦于以下问题:Java BubbleEntry类的具体用法?Java BubbleEntry怎么用?Java BubbleEntry使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BubbleEntry类属于com.github.mikephil.charting.data包,在下文中一共展示了BubbleEntry类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: generateBubbleData
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
protected BubbleData generateBubbleData() {
BubbleData bd = new BubbleData();
ArrayList<BubbleEntry> entries = new ArrayList<BubbleEntry>();
for (int index = 0; index < itemcount; index++) {
float y = getRandom(10, 105);
float size = getRandom(100, 105);
entries.add(new BubbleEntry(index + 0.5f, y, size));
}
BubbleDataSet set = new BubbleDataSet(entries, "Bubble DataSet");
set.setColors(ColorTemplate.VORDIPLOM_COLORS);
set.setValueTextSize(10f);
set.setValueTextColor(Color.WHITE);
set.setHighlightCircleWidth(1.5f);
set.setDrawValues(true);
bd.addDataSet(set);
return bd;
}
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:23,代码来源:CombinedChartActivity.java
示例2: generateBubbleData
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
protected BubbleData generateBubbleData() {
BubbleData bd = new BubbleData();
ArrayList<BubbleEntry> entries = new ArrayList<BubbleEntry>();
for (int index = 0; index < itemcount; index++) {
float rnd = getRandom(20, 30);
entries.add(new BubbleEntry(index, rnd, rnd));
}
BubbleDataSet set = new BubbleDataSet(entries, "Bubble DataSet");
set.setColors(ColorTemplate.VORDIPLOM_COLORS);
set.setValueTextSize(10f);
set.setValueTextColor(Color.WHITE);
set.setHighlightCircleWidth(1.5f);
set.setDrawValues(true);
bd.addDataSet(set);
return bd;
}
开发者ID:rahulmaddineni,项目名称:Stayfit,代码行数:22,代码来源:CombinedChartActivity.java
示例3: createEntry
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
@Override
BubbleEntry createEntry(ReadableArray yValues, int index) {
if (!ReadableType.Map.equals(yValues.getType(index))) {
throw new IllegalArgumentException("Invalid BubbleEntry data");
}
ReadableMap entry = yValues.getMap(index);
if(!BridgeUtils.validate(entry, ReadableType.Number, "value") ||
!BridgeUtils.validate(entry, ReadableType.Number, "size")) {
throw new IllegalArgumentException("Invalid BubbleEntry data");
}
float value = (float) entry.getDouble("value");
float size = (float) entry.getDouble("size");
return new BubbleEntry(index, value, size);
}
开发者ID:mskec,项目名称:react-native-mp-android-chart,代码行数:18,代码来源:BubbleChartManager.java
示例4: buildEntryFromResultObject
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
@Override
public BubbleEntry buildEntryFromResultObject(T realmObject, int xIndex) {
DynamicRealmObject dynamicObject = new DynamicRealmObject(realmObject);
return new BubbleEntry(
mIndexField == null ? xIndex : dynamicObject.getInt(mIndexField),
dynamicObject.getFloat(mValuesField),
dynamicObject.getFloat(mSizeField));
}
开发者ID:pencil-box,项目名称:NetKnight,代码行数:10,代码来源:RealmBubbleDataSet.java
示例5: dataSetConfig
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
@Override
void dataSetConfig(IDataSet<BubbleEntry> dataSet, ReadableMap config) {
BubbleDataSet bubbleDataSet = (BubbleDataSet) dataSet;
ChartDataSetConfigUtils.commonConfig(bubbleDataSet, config);
ChartDataSetConfigUtils.commonBarLineScatterCandleBubbleConfig(bubbleDataSet, config);
// BubbleDataSet only config
if (BridgeUtils.validate(config, ReadableType.Number, "highlightCircleWidth")) {
bubbleDataSet.setHighlightCircleWidth((float) config.getDouble("highlightCircleWidth"));
}
}
开发者ID:mskec,项目名称:react-native-mp-android-chart,代码行数:13,代码来源:BubbleChartManager.java
示例6: buildEntryFromResultObject
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
@Override
public BubbleEntry buildEntryFromResultObject(T realmObject, float x) {
DynamicRealmObject dynamicObject = new DynamicRealmObject(realmObject);
return new BubbleEntry(
mXValuesField == null ? x : dynamicObject.getFloat(mXValuesField),
dynamicObject.getFloat(mYValuesField),
dynamicObject.getFloat(mSizeField));
}
开发者ID:PhilJay,项目名称:MPAndroidChart-Realm,代码行数:10,代码来源:RealmBubbleDataSet.java
示例7: calcMinMax
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
@Override
protected void calcMinMax(BubbleEntry e) {
super.calcMinMax(e);
final float size = e.getSize();
if (size > mMaxSize) {
mMaxSize = size;
}
}
开发者ID:PhilJay,项目名称:MPAndroidChart-Realm,代码行数:11,代码来源:RealmBubbleDataSet.java
示例8: drawHighlighted
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
@Override
public void drawHighlighted(Canvas c, Highlight[] indices) {
BubbleData bubbleData = mChart.getBubbleData();
float phaseY = mAnimator.getPhaseY();
for (Highlight high : indices) {
IBubbleDataSet set = bubbleData.getDataSetByIndex(high.getDataSetIndex());
if (set == null || !set.isHighlightEnabled())
continue;
final BubbleEntry entry = set.getEntryForXValue(high.getX(), high.getY());
if (entry.getY() != high.getY())
continue;
if (!isInBoundsX(entry, set))
continue;
Transformer trans = mChart.getTransformer(set.getAxisDependency());
sizeBuffer[0] = 0f;
sizeBuffer[2] = 1f;
trans.pointValuesToPixel(sizeBuffer);
boolean normalizeSize = set.isNormalizeSizeEnabled();
// calcualte the full width of 1 step on the x-axis
final float maxBubbleWidth = Math.abs(sizeBuffer[2] - sizeBuffer[0]);
final float maxBubbleHeight = Math.abs(
mViewPortHandler.contentBottom() - mViewPortHandler.contentTop());
final float referenceSize = Math.min(maxBubbleHeight, maxBubbleWidth);
pointBuffer[0] = entry.getX();
pointBuffer[1] = (entry.getY()) * phaseY;
trans.pointValuesToPixel(pointBuffer);
high.setDraw(pointBuffer[0], pointBuffer[1]);
float shapeHalf = getShapeSize(entry.getSize(),
set.getMaxSize(),
referenceSize,
normalizeSize) / 2f;
if (!mViewPortHandler.isInBoundsTop(pointBuffer[1] + shapeHalf)
|| !mViewPortHandler.isInBoundsBottom(pointBuffer[1] - shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsLeft(pointBuffer[0] + shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsRight(pointBuffer[0] - shapeHalf))
break;
final int originalColor = set.getColor((int) entry.getX());
Color.RGBToHSV(Color.red(originalColor), Color.green(originalColor),
Color.blue(originalColor), _hsvBuffer);
_hsvBuffer[2] *= 0.5f;
final int color = Color.HSVToColor(Color.alpha(originalColor), _hsvBuffer);
mHighlightPaint.setColor(color);
mHighlightPaint.setStrokeWidth(set.getHighlightCircleWidth());
c.drawCircle(pointBuffer[0], pointBuffer[1], shapeHalf, mHighlightPaint);
}
}
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:71,代码来源:BubbleChartRenderer.java
示例9: yMin
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
private float yMin(BubbleEntry entry) {
return entry.getVal();
}
开发者ID:rahulmaddineni,项目名称:Stayfit,代码行数:4,代码来源:RealmBubbleDataSet.java
示例10: yMax
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
private float yMax(BubbleEntry entry) {
return entry.getVal();
}
开发者ID:rahulmaddineni,项目名称:Stayfit,代码行数:4,代码来源:RealmBubbleDataSet.java
示例11: xMin
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
private float xMin(BubbleEntry entry) {
return (float) entry.getXIndex();
}
开发者ID:rahulmaddineni,项目名称:Stayfit,代码行数:4,代码来源:RealmBubbleDataSet.java
示例12: xMax
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
private float xMax(BubbleEntry entry) {
return (float) entry.getXIndex();
}
开发者ID:rahulmaddineni,项目名称:Stayfit,代码行数:4,代码来源:RealmBubbleDataSet.java
示例13: largestSize
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
private float largestSize(BubbleEntry entry) {
return entry.getSize();
}
开发者ID:rahulmaddineni,项目名称:Stayfit,代码行数:4,代码来源:RealmBubbleDataSet.java
示例14: drawHighlighted
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
@Override
public void drawHighlighted(Canvas c, Highlight[] indices) {
BubbleData bubbleData = mChart.getBubbleData();
float phaseX = mAnimator.getPhaseX();
float phaseY = mAnimator.getPhaseY();
for (Highlight indice : indices) {
IBubbleDataSet dataSet = bubbleData.getDataSetByIndex(indice.getDataSetIndex());
if (dataSet == null || !dataSet.isHighlightEnabled())
continue;
BubbleEntry entryFrom = dataSet.getEntryForXIndex(mMinX);
BubbleEntry entryTo = dataSet.getEntryForXIndex(mMaxX);
int minx = dataSet.getEntryIndex(entryFrom);
int maxx = Math.min(dataSet.getEntryIndex(entryTo) + 1, dataSet.getEntryCount());
final BubbleEntry entry = (BubbleEntry) bubbleData.getEntryForHighlight(indice);
if (entry == null || entry.getXIndex() != indice.getXIndex())
continue;
Transformer trans = mChart.getTransformer(dataSet.getAxisDependency());
sizeBuffer[0] = 0f;
sizeBuffer[2] = 1f;
trans.pointValuesToPixel(sizeBuffer);
// calcualte the full width of 1 step on the x-axis
final float maxBubbleWidth = Math.abs(sizeBuffer[2] - sizeBuffer[0]);
final float maxBubbleHeight = Math.abs(mViewPortHandler.contentBottom() - mViewPortHandler.contentTop());
final float referenceSize = Math.min(maxBubbleHeight, maxBubbleWidth);
pointBuffer[0] = (float) (entry.getXIndex() - minx) * phaseX + (float) minx;
pointBuffer[1] = (float) (entry.getVal()) * phaseY;
trans.pointValuesToPixel(pointBuffer);
float shapeHalf = getShapeSize(entry.getSize(), dataSet.getMaxSize(), referenceSize) / 2f;
if (!mViewPortHandler.isInBoundsTop(pointBuffer[1] + shapeHalf)
|| !mViewPortHandler.isInBoundsBottom(pointBuffer[1] - shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsLeft(pointBuffer[0] + shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsRight(pointBuffer[0] - shapeHalf))
break;
if (indice.getXIndex() < minx || indice.getXIndex() >= maxx)
continue;
final int originalColor = dataSet.getColor(entry.getXIndex());
Color.RGBToHSV(Color.red(originalColor), Color.green(originalColor),
Color.blue(originalColor), _hsvBuffer);
_hsvBuffer[2] *= 0.5f;
final int color = Color.HSVToColor(Color.alpha(originalColor), _hsvBuffer);
mHighlightPaint.setColor(color);
mHighlightPaint.setStrokeWidth(dataSet.getHighlightCircleWidth());
c.drawCircle(pointBuffer[0], pointBuffer[1], shapeHalf, mHighlightPaint);
}
}
开发者ID:rahulmaddineni,项目名称:Stayfit,代码行数:69,代码来源:BubbleChartRenderer.java
示例15: drawHighlighted
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
@Override
public void drawHighlighted(Canvas c, Highlight[] indices) {
BubbleData bubbleData = mChart.getBubbleData();
float phaseX = mAnimator.getPhaseX();
float phaseY = mAnimator.getPhaseY();
for (Highlight indice : indices) {
BubbleDataSet dataSet = bubbleData.getDataSetByIndex(indice.getDataSetIndex());
if (dataSet == null || !dataSet.isHighlightEnabled())
continue;
Entry entryFrom = dataSet.getEntryForXIndex(mMinX);
Entry entryTo = dataSet.getEntryForXIndex(mMaxX);
int minx = dataSet.getEntryPosition(entryFrom);
int maxx = Math.min(dataSet.getEntryPosition(entryTo) + 1, dataSet.getEntryCount());
final BubbleEntry entry = (BubbleEntry) bubbleData.getEntryForHighlight(indice);
if (entry == null || entry.getXIndex() != indice.getXIndex())
continue;
Transformer trans = mChart.getTransformer(dataSet.getAxisDependency());
sizeBuffer[0] = 0f;
sizeBuffer[2] = 1f;
trans.pointValuesToPixel(sizeBuffer);
// calcualte the full width of 1 step on the x-axis
final float maxBubbleWidth = Math.abs(sizeBuffer[2] - sizeBuffer[0]);
final float maxBubbleHeight = Math.abs(mViewPortHandler.contentBottom() - mViewPortHandler.contentTop());
final float referenceSize = Math.min(maxBubbleHeight, maxBubbleWidth);
pointBuffer[0] = (float) (entry.getXIndex() - minx) * phaseX + (float) minx;
pointBuffer[1] = (float) (entry.getVal()) * phaseY;
trans.pointValuesToPixel(pointBuffer);
float shapeHalf = getShapeSize(entry.getSize(), dataSet.getMaxSize(), referenceSize) / 2f;
if (!mViewPortHandler.isInBoundsTop(pointBuffer[1] + shapeHalf)
|| !mViewPortHandler.isInBoundsBottom(pointBuffer[1] - shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsLeft(pointBuffer[0] + shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsRight(pointBuffer[0] - shapeHalf))
break;
if (indice.getXIndex() < minx || indice.getXIndex() >= maxx)
continue;
final int originalColor = dataSet.getColor(entry.getXIndex());
Color.RGBToHSV(Color.red(originalColor), Color.green(originalColor),
Color.blue(originalColor), _hsvBuffer);
_hsvBuffer[2] *= 0.5f;
final int color = Color.HSVToColor(Color.alpha(originalColor), _hsvBuffer);
mHighlightPaint.setColor(color);
mHighlightPaint.setStrokeWidth(dataSet.getHighlightCircleWidth());
c.drawCircle(pointBuffer[0], pointBuffer[1], shapeHalf, mHighlightPaint);
}
}
开发者ID:xinpengfei520,项目名称:P2P,代码行数:69,代码来源:BubbleChartRenderer.java
示例16: createDataSet
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
@Override
IDataSet createDataSet(ArrayList<BubbleEntry> entries, String label) {
return new BubbleDataSet(entries, label);
}
开发者ID:mskec,项目名称:react-native-mp-android-chart,代码行数:5,代码来源:BubbleChartManager.java
示例17: drawHighlighted
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
@Override
public void drawHighlighted(Canvas c, Highlight[] indices) {
BubbleData bubbleData = mChart.getBubbleData();
float phaseY = mAnimator.getPhaseY();
for (Highlight high : indices) {
IBubbleDataSet set = bubbleData.getDataSetByIndex(high.getDataSetIndex());
if (set == null || !set.isHighlightEnabled())
continue;
final BubbleEntry entry = set.getEntryForXPos(high.getX());
if (!isInBoundsX(entry, set))
continue;
Transformer trans = mChart.getTransformer(set.getAxisDependency());
sizeBuffer[0] = 0f;
sizeBuffer[2] = 1f;
trans.pointValuesToPixel(sizeBuffer);
boolean normalizeSize = set.isNormalizeSizeEnabled();
// calcualte the full width of 1 step on the x-axis
final float maxBubbleWidth = Math.abs(sizeBuffer[2] - sizeBuffer[0]);
final float maxBubbleHeight = Math.abs(
mViewPortHandler.contentBottom() - mViewPortHandler.contentTop());
final float referenceSize = Math.min(maxBubbleHeight, maxBubbleWidth);
pointBuffer[0] = entry.getX();
pointBuffer[1] = (entry.getY()) * phaseY;
trans.pointValuesToPixel(pointBuffer);
high.setDraw(pointBuffer[0], pointBuffer[1]);
float shapeHalf = getShapeSize(entry.getSize(),
set.getMaxSize(),
referenceSize,
normalizeSize) / 2f;
if (!mViewPortHandler.isInBoundsTop(pointBuffer[1] + shapeHalf)
|| !mViewPortHandler.isInBoundsBottom(pointBuffer[1] - shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsLeft(pointBuffer[0] + shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsRight(pointBuffer[0] - shapeHalf))
break;
final int originalColor = set.getColor((int) entry.getX());
Color.RGBToHSV(Color.red(originalColor), Color.green(originalColor),
Color.blue(originalColor), _hsvBuffer);
_hsvBuffer[2] *= 0.5f;
final int color = Color.HSVToColor(Color.alpha(originalColor), _hsvBuffer);
mHighlightPaint.setColor(color);
mHighlightPaint.setStrokeWidth(set.getHighlightCircleWidth());
c.drawCircle(pointBuffer[0], pointBuffer[1], shapeHalf, mHighlightPaint);
}
}
开发者ID:letolab,项目名称:LETO-Toggl_Android,代码行数:68,代码来源:BubbleChartRenderer.java
示例18: drawHighlighted
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
@Override
public void drawHighlighted(Canvas c, Highlight[] indices) {
BubbleData bubbleData = mChart.getBubbleData();
float phaseX = Math.max(0.f, Math.min(1.f, mAnimator.getPhaseX()));
float phaseY = mAnimator.getPhaseY();
for (Highlight indice : indices) {
IBubbleDataSet dataSet = bubbleData.getDataSetByIndex(indice.getDataSetIndex());
if (dataSet == null || !dataSet.isHighlightEnabled())
continue;
BubbleEntry entryFrom = dataSet.getEntryForXIndex(mMinX);
BubbleEntry entryTo = dataSet.getEntryForXIndex(mMaxX);
int minx = dataSet.getEntryIndex(entryFrom);
int maxx = Math.min(dataSet.getEntryIndex(entryTo) + 1, dataSet.getEntryCount());
final BubbleEntry entry = (BubbleEntry) bubbleData.getEntryForHighlight(indice);
if (entry == null || entry.getXIndex() != indice.getXIndex())
continue;
Transformer trans = mChart.getTransformer(dataSet.getAxisDependency());
sizeBuffer[0] = 0f;
sizeBuffer[2] = 1f;
trans.pointValuesToPixel(sizeBuffer);
boolean normalizeSize = dataSet.isNormalizeSizeEnabled();
// calcualte the full width of 1 step on the x-axis
final float maxBubbleWidth = Math.abs(sizeBuffer[2] - sizeBuffer[0]);
final float maxBubbleHeight = Math.abs(mViewPortHandler.contentBottom() - mViewPortHandler.contentTop());
final float referenceSize = Math.min(maxBubbleHeight, maxBubbleWidth);
pointBuffer[0] = (float) (entry.getXIndex() - minx) * phaseX + (float) minx;
pointBuffer[1] = entry.getVal() * phaseY;
trans.pointValuesToPixel(pointBuffer);
float shapeHalf = getShapeSize(entry.getSize(), dataSet.getMaxSize(), referenceSize, normalizeSize) / 2f;
if (!mViewPortHandler.isInBoundsTop(pointBuffer[1] + shapeHalf)
|| !mViewPortHandler.isInBoundsBottom(pointBuffer[1] - shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsLeft(pointBuffer[0] + shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsRight(pointBuffer[0] - shapeHalf))
break;
if (indice.getXIndex() < minx || indice.getXIndex() >= maxx)
continue;
final int originalColor = dataSet.getColor(entry.getXIndex());
Color.RGBToHSV(Color.red(originalColor), Color.green(originalColor),
Color.blue(originalColor), _hsvBuffer);
_hsvBuffer[2] *= 0.5f;
final int color = Color.HSVToColor(Color.alpha(originalColor), _hsvBuffer);
mHighlightPaint.setColor(color);
mHighlightPaint.setStrokeWidth(dataSet.getHighlightCircleWidth());
c.drawCircle(pointBuffer[0], pointBuffer[1], shapeHalf, mHighlightPaint);
}
}
开发者ID:muyoumumumu,项目名称:QuShuChe,代码行数:71,代码来源:BubbleChartRenderer.java
示例19: drawDataSet
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
protected void drawDataSet(Canvas c, IBubbleDataSet dataSet) {
Transformer trans = mChart.getTransformer(dataSet.getAxisDependency());
float phaseY = mAnimator.getPhaseY();
mXBounds.set(mChart, dataSet);
sizeBuffer[0] = 0f;
sizeBuffer[2] = 1f;
trans.pointValuesToPixel(sizeBuffer);
boolean normalizeSize = dataSet.isNormalizeSizeEnabled();
// calcualte the full width of 1 step on the x-axis
final float maxBubbleWidth = Math.abs(sizeBuffer[2] - sizeBuffer[0]);
final float maxBubbleHeight = Math.abs(mViewPortHandler.contentBottom() - mViewPortHandler.contentTop());
final float referenceSize = Math.min(maxBubbleHeight, maxBubbleWidth);
for (int j = mXBounds.min; j <= mXBounds.range + mXBounds.min; j++) {
final BubbleEntry entry = dataSet.getEntryForIndex(j);
pointBuffer[0] = entry.getX();
pointBuffer[1] = (entry.getY()) * phaseY;
trans.pointValuesToPixel(pointBuffer);
float shapeHalf = getShapeSize(entry.getSize(), dataSet.getMaxSize(), referenceSize, normalizeSize) / 2f;
if (!mViewPortHandler.isInBoundsTop(pointBuffer[1] + shapeHalf)
|| !mViewPortHandler.isInBoundsBottom(pointBuffer[1] - shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsLeft(pointBuffer[0] + shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsRight(pointBuffer[0] - shapeHalf))
break;
final int color = dataSet.getColor((int) entry.getX());
mRenderPaint.setColor(color);
c.drawCircle(pointBuffer[0], pointBuffer[1], shapeHalf, mRenderPaint);
}
}
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:47,代码来源:BubbleChartRenderer.java
示例20: drawDataSet
import com.github.mikephil.charting.data.BubbleEntry; //导入依赖的package包/类
protected void drawDataSet(Canvas c, IBubbleDataSet dataSet) {
Transformer trans = mChart.getTransformer(dataSet.getAxisDependency());
float phaseX = mAnimator.getPhaseX();
float phaseY = mAnimator.getPhaseY();
BubbleEntry entryFrom = dataSet.getEntryForXIndex(mMinX);
BubbleEntry entryTo = dataSet.getEntryForXIndex(mMaxX);
int minx = Math.max(dataSet.getEntryIndex(entryFrom), 0);
int maxx = Math.min(dataSet.getEntryIndex(entryTo) + 1, dataSet.getEntryCount());
sizeBuffer[0] = 0f;
sizeBuffer[2] = 1f;
trans.pointValuesToPixel(sizeBuffer);
// calcualte the full width of 1 step on the x-axis
final float maxBubbleWidth = Math.abs(sizeBuffer[2] - sizeBuffer[0]);
final float maxBubbleHeight = Math.abs(mViewPortHandler.contentBottom() - mViewPortHandler.contentTop());
final float referenceSize = Math.min(maxBubbleHeight, maxBubbleWidth);
for (int j = minx; j < maxx; j++) {
final BubbleEntry entry = dataSet.getEntryForIndex(j);
pointBuffer[0] = (float) (entry.getXIndex() - minx) * phaseX + (float) minx;
pointBuffer[1] = (float) (entry.getVal()) * phaseY;
trans.pointValuesToPixel(pointBuffer);
float shapeHalf = getShapeSize(entry.getSize(), dataSet.getMaxSize(), referenceSize) / 2f;
if (!mViewPortHandler.isInBoundsTop(pointBuffer[1] + shapeHalf)
|| !mViewPortHandler.isInBoundsBottom(pointBuffer[1] - shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsLeft(pointBuffer[0] + shapeHalf))
continue;
if (!mViewPortHandler.isInBoundsRight(pointBuffer[0] - shapeHalf))
break;
final int color = dataSet.getColor(entry.getXIndex());
mRenderPaint.setColor(color);
c.drawCircle(pointBuffer[0], pointBuffer[1], shapeHalf, mRenderPaint);
}
}
开发者ID:rahulmaddineni,项目名称:Stayfit,代码行数:50,代码来源:BubbleChartRenderer.java
注:本文中的com.github.mikephil.charting.data.BubbleEntry类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论