本文整理汇总了Java中com.github.mikephil.charting.data.CandleDataSet类的典型用法代码示例。如果您正苦于以下问题:Java CandleDataSet类的具体用法?Java CandleDataSet怎么用?Java CandleDataSet使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CandleDataSet类属于com.github.mikephil.charting.data包,在下文中一共展示了CandleDataSet类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: generateCandleData
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
protected CandleData generateCandleData() {
CandleData d = new CandleData();
ArrayList<CandleEntry> entries = new ArrayList<CandleEntry>();
for (int index = 0; index < itemcount; index += 2)
entries.add(new CandleEntry(index + 1f, 90, 70, 85, 75f));
CandleDataSet set = new CandleDataSet(entries, "Candle DataSet");
set.setDecreasingColor(Color.rgb(142, 150, 175));
set.setShadowColor(Color.DKGRAY);
set.setBarSpace(0.3f);
set.setValueTextSize(10f);
set.setDrawValues(false);
d.addDataSet(set);
return d;
}
示例2: generateCandleData
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
protected CandleData generateCandleData() {
CandleData d = new CandleData();
ArrayList<CandleEntry> entries = new ArrayList<CandleEntry>();
for (int index = 0; index < itemcount; index++)
entries.add(new CandleEntry(index, 20f, 10f, 13f, 17f));
CandleDataSet set = new CandleDataSet(entries, "Candle DataSet");
set.setColor(Color.rgb(80, 80, 80));
set.setBarSpace(0.3f);
set.setValueTextSize(10f);
set.setDrawValues(false);
d.addDataSet(set);
return d;
}
示例3: generateCandleData
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
/**
* Prepare CandleData for candlestick chart
* @param xIndex - float
* @param shadowH - float
* @param shadowL - float
* @param open - float
* @param close - float
* @param seriesName - String
* @return CandleData
*/
private CandleData generateCandleData(float xIndex, float shadowH, float shadowL, float open, float close, String seriesName){
CandleData d = new CandleData();
ArrayList<CandleEntry> entries = new ArrayList<>();
entries.add(new CandleEntry(xIndex, shadowH, shadowL, open, close));
CandleDataSet set = new CandleDataSet(entries, seriesName);
set.setDecreasingColor(Color.rgb(142, 150, 175));
set.setShadowColor(Color.DKGRAY);
set.setDecreasingColor(Color.parseColor("#2196F3"));
set.setBarSpace(0.3f);
set.setValueTextSize(10f);
set.setShadowWidth(2f);
set.setDrawValues(false);
d.addDataSet(set);
return d;
}
示例4: generateMarginCandleData
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
private CandleData generateMarginCandleData(List<MarketHistory> historyEntries) {
SimpleDateFormat format = new SimpleDateFormat("MMM dd", Locale.getDefault());
int size = historyEntries.size();
List<CandleEntry> entries = new ArrayList<>(size);
List<String> xAxis = new ArrayList<>(size);
for (int i = 0; i < size; i++) {
MarketHistory history = historyEntries.get(i);
Date recordDate = new Date(history.getRecordDate());
xAxis.add(format.format(recordDate));
entries.add(new CandleEntry(i,
(float) history.getHighPrice(),
(float) history.getLowPrice(),
(float) history.getAveragePrice(),
(float) history.getAveragePrice()
));
}
CandleDataSet set = new CandleDataSet(entries, "Price Margins");
set.setShadowColor(Color.DKGRAY);
set.setShadowWidth(2.0f);
set.setShowCandleBar(true);
set.setBarSpace(0.35f);
set.setNeutralColor(Color.DKGRAY);
set.setDrawValues(false);
set.setDrawHighlightIndicators(false);
set.setDrawVerticalHighlightIndicator(false);
set.setAxisDependency(YAxis.AxisDependency.LEFT);
return new CandleData(xAxis, set);
}
示例5: initBuffers
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
@Override
public void initBuffers() {
CandleData candleData = mChart.getCandleData();
mShadowBuffers = new CandleShadowBuffer[candleData.getDataSetCount()];
mBodyBuffers = new CandleBodyBuffer[candleData.getDataSetCount()];
for (int i = 0; i < mShadowBuffers.length; i++) {
CandleDataSet set = candleData.getDataSetByIndex(i);
mShadowBuffers[i] = new CandleShadowBuffer(set.getValueCount() * 4);
mBodyBuffers[i] = new CandleBodyBuffer(set.getValueCount() * 4);
}
}
示例6: drawData
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
@Override
public void drawData(Canvas c) {
CandleData candleData = mChart.getCandleData();
for (CandleDataSet set : candleData.getDataSets()) {
if (set.isVisible() && set.getEntryCount() > 0)
drawDataSet(c, set);
}
}
示例7: dataSetConfig
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
@Override
void dataSetConfig(IDataSet<CandleEntry> dataSet, ReadableMap config) {
CandleDataSet candleDataSet = (CandleDataSet) dataSet;
ChartDataSetConfigUtils.commonConfig(candleDataSet, config);
ChartDataSetConfigUtils.commonBarLineScatterCandleBubbleConfig(candleDataSet, config);
ChartDataSetConfigUtils.commonLineScatterCandleRadarConfig(candleDataSet, config);
// CandleDataSet only config
if (BridgeUtils.validate(config, ReadableType.Number, "barSpace")) {
candleDataSet.setBarSpace((float) config.getDouble("barSpace"));
}
if (BridgeUtils.validate(config, ReadableType.Number, "shadowWidth")) {
candleDataSet.setShadowWidth((float) config.getDouble("shadowWidth"));
}
if (BridgeUtils.validate(config, ReadableType.String, "shadowColor")) {
candleDataSet.setShadowColor(Color.parseColor(config.getString("shadowColor")));
}
if (BridgeUtils.validate(config, ReadableType.Boolean, "shadowColorSameAsCandle")) {
candleDataSet.setShadowColorSameAsCandle(config.getBoolean("shadowColorSameAsCandle"));
}
if (BridgeUtils.validate(config, ReadableType.String, "neutralColor")) {
candleDataSet.setNeutralColor(Color.parseColor(config.getString("neutralColor")));
}
if (BridgeUtils.validate(config, ReadableType.String, "decreasingColor")) {
candleDataSet.setDecreasingColor(Color.parseColor(config.getString("decreasingColor")));
}
if (BridgeUtils.validate(config, ReadableType.String, "decreasingPaintStyle")) {
candleDataSet.setDecreasingPaintStyle(Paint.Style.valueOf(config.getString("decreasingPaintStyle").toUpperCase()));
}
if (BridgeUtils.validate(config, ReadableType.String, "increasingColor")) {
candleDataSet.setIncreasingColor(Color.parseColor(config.getString("increasingColor")));
}
if (BridgeUtils.validate(config, ReadableType.String, "increasingPaintStyle")) {
candleDataSet.setIncreasingPaintStyle(Paint.Style.valueOf(config.getString("increasingPaintStyle").toUpperCase()));
}
}
示例8: onProgressChanged
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int prog = (mSeekBarX.getProgress() + 1);
tvX.setText("" + prog);
tvY.setText("" + (mSeekBarY.getProgress()));
mChart.resetTracking();
ArrayList<CandleEntry> yVals1 = new ArrayList<CandleEntry>();
for (int i = 0; i < prog; i++) {
float mult = (mSeekBarY.getProgress() + 1);
float val = (float) (Math.random() * 40) + mult;
float high = (float) (Math.random() * 9) + 8f;
float low = (float) (Math.random() * 9) + 8f;
float open = (float) (Math.random() * 6) + 1f;
float close = (float) (Math.random() * 6) + 1f;
boolean even = i % 2 == 0;
yVals1.add(new CandleEntry(
i, val + high,
val - low,
even ? val + open : val - open,
even ? val - close : val + close,
getResources().getDrawable(R.drawable.star)
));
}
CandleDataSet set1 = new CandleDataSet(yVals1, "Data Set");
set1.setDrawIcons(false);
set1.setAxisDependency(AxisDependency.LEFT);
// set1.setColor(Color.rgb(80, 80, 80));
set1.setShadowColor(Color.DKGRAY);
set1.setShadowWidth(0.7f);
set1.setDecreasingColor(Color.RED);
set1.setDecreasingPaintStyle(Paint.Style.FILL);
set1.setIncreasingColor(Color.rgb(122, 242, 84));
set1.setIncreasingPaintStyle(Paint.Style.STROKE);
set1.setNeutralColor(Color.BLUE);
//set1.setHighlightLineWidth(1f);
CandleData data = new CandleData(set1);
mChart.setData(data);
mChart.invalidate();
}
示例9: onProgressChanged
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int prog = (mSeekBarX.getProgress() + 1);
tvX.setText("" + prog);
tvY.setText("" + (mSeekBarY.getProgress()));
mChart.resetTracking();
ArrayList<CandleEntry> yVals1 = new ArrayList<CandleEntry>();
for (int i = 0; i < prog; i++) {
float mult = (mSeekBarY.getProgress() + 1);
float val = (float) (Math.random() * 40) + mult;
float high = (float) (Math.random() * 9) + 8f;
float low = (float) (Math.random() * 9) + 8f;
float open = (float) (Math.random() * 6) + 1f;
float close = (float) (Math.random() * 6) + 1f;
boolean even = i % 2 == 0;
yVals1.add(new CandleEntry(i, val + high, val - low, even ? val + open : val - open,
even ? val - close : val + close));
}
ArrayList<String> xVals = new ArrayList<String>();
for (int i = 0; i < prog; i++) {
xVals.add("" + (1990 + i));
}
CandleDataSet set1 = new CandleDataSet(yVals1, "Data Set");
set1.setAxisDependency(AxisDependency.LEFT);
// set1.setColor(Color.rgb(80, 80, 80));
set1.setShadowColor(Color.DKGRAY);
set1.setShadowWidth(0.7f);
set1.setDecreasingColor(Color.RED);
set1.setDecreasingPaintStyle(Paint.Style.FILL);
set1.setIncreasingColor(Color.rgb(122, 242, 84));
set1.setIncreasingPaintStyle(Paint.Style.STROKE);
set1.setNeutralColor(Color.BLUE);
//set1.setHighlightLineWidth(1f);
CandleData data = new CandleData(xVals, set1);
mChart.setData(data);
mChart.invalidate();
}
示例10: createDataSet
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
@Override
IDataSet createDataSet(ArrayList<CandleEntry> entries, String label) {
return new CandleDataSet(entries, label);
}
示例11: onProgressChanged
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int prog = (mSeekBarX.getProgress() + 1);
tvX.setText("" + prog);
tvY.setText("" + (mSeekBarY.getProgress()));
mChart.resetTracking();
ArrayList<CandleEntry> yVals1 = new ArrayList<CandleEntry>();
for (int i = 0; i < prog; i++) {
float mult = (mSeekBarY.getProgress() + 1);
float val = (float) (Math.random() * 40) + mult;
float high = (float) (Math.random() * 9) + 8f;
float low = (float) (Math.random() * 9) + 8f;
float open = (float) (Math.random() * 6) + 1f;
float close = (float) (Math.random() * 6) + 1f;
boolean even = i % 2 == 0;
yVals1.add(new CandleEntry(i, val + high, val - low, even ? val + open : val - open,
even ? val - close : val + close));
}
CandleDataSet set1 = new CandleDataSet(yVals1, "Data Set");
set1.setAxisDependency(AxisDependency.LEFT);
// set1.setColor(Color.rgb(80, 80, 80));
set1.setShadowColor(Color.DKGRAY);
set1.setShadowWidth(0.7f);
set1.setDecreasingColor(Color.RED);
set1.setDecreasingPaintStyle(Paint.Style.FILL);
set1.setIncreasingColor(Color.rgb(122, 242, 84));
set1.setIncreasingPaintStyle(Paint.Style.STROKE);
set1.setNeutralColor(Color.BLUE);
//set1.setHighlightLineWidth(1f);
CandleData data = new CandleData(set1);
mChart.setData(data);
mChart.invalidate();
}
示例12: drawData
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
@Override
protected void drawData() {
ArrayList<CandleDataSet> dataSets = mData.getDataSets();
// pre allocate
float[] shadowPoints = new float[4];
float[] bodyPoints = new float[4];
for (int i = 0; i < mData.getDataSetCount(); i++) {
CandleDataSet dataSet = dataSets.get(i);
ArrayList<CandleEntry> entries = dataSet.getYVals();
mRenderPaint.setStrokeWidth(dataSet.getShadowWidth());
for (int j = 0; j < entries.size() * mPhaseX; j++) {
// get the color that is specified for this position from
// the DataSet, this will reuse colors, if the index is out
// of bounds
mRenderPaint.setColor(dataSet.getColor(j));
// get the entry
CandleEntry e = entries.get(j);
// transform the entries values for shadow and body
transformShadow(shadowPoints, e);
transformBody(bodyPoints, e, dataSet.getBodySpace());
float xShadow = shadowPoints[0];
float leftBody = bodyPoints[0];
float rightBody = bodyPoints[2];
float high = shadowPoints[1];
float low = shadowPoints[3];
float open = bodyPoints[1];
float close = bodyPoints[3];
if (isOffContentRight(leftBody))
break;
// make sure the lines don't do shitty things outside bounds
if (isOffContentLeft(rightBody)
&& isOffContentTop(low)
&& isOffContentBottom(high))
continue;
// draw the shadow
mDrawCanvas.drawLine(xShadow, low, xShadow, high, mRenderPaint);
// decide weather the body is hollow or filled
if (open > close) {
mRenderPaint.setStyle(Paint.Style.FILL);
// draw the body
mDrawCanvas.drawRect(leftBody, close, rightBody, open, mRenderPaint);
} else {
mRenderPaint.setStyle(Paint.Style.STROKE);
// draw the body
mDrawCanvas.drawRect(leftBody, open, rightBody, close, mRenderPaint);
}
}
}
}
示例13: drawHighlights
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
@Override
protected void drawHighlights() {
for (int i = 0; i < mIndicesToHightlight.length; i++) {
int xIndex = mIndicesToHightlight[i].getXIndex(); // get the
// x-position
CandleDataSet set = mData.getDataSetByIndex(mIndicesToHightlight[i].getDataSetIndex());
if (set == null)
continue;
mHighlightPaint.setColor(set.getHighLightColor());
CandleEntry e = set.getEntryForXIndex(xIndex);
if(e == null) continue;
float low = e.getLow() * mPhaseY;
float high = e.getHigh() * mPhaseY;
float[] vertPts = new float[] {
xIndex, mYChartMax, xIndex, mYChartMin, xIndex + 1f, mYChartMax, xIndex + 1f,
mYChartMin
};
float[] horPts = new float[] {
0, low, mDeltaX, low, 0, high, mDeltaX, high
};
mTrans.pointValuesToPixel(vertPts);
mTrans.pointValuesToPixel(horPts);
// draw the vertical highlight lines
mDrawCanvas.drawLines(vertPts, mHighlightPaint);
// draw the horizontal highlight lines
mDrawCanvas.drawLines(horPts, mHighlightPaint);
}
}
示例14: drawData
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
@Override
protected void drawData() {
ArrayList<CandleDataSet> dataSets = mCurrentData.getDataSets();
// pre allocate
float[] shadowPoints = new float[4];
float[] bodyPoints = new float[4];
for (int i = 0; i < mCurrentData.getDataSetCount(); i++) {
CandleDataSet dataSet = dataSets.get(i);
ArrayList<CandleEntry> entries = dataSet.getYVals();
mRenderPaint.setStrokeWidth(dataSet.getShadowWidth());
for (int j = 0; j < entries.size() * mPhaseX; j++) {
// get the color that is specified for this position from
// the DataSet, this will reuse colors, if the index is out
// of bounds
mRenderPaint.setColor(dataSet.getColor(j));
// get the entry
CandleEntry e = entries.get(j);
// transform the entries values for shadow and body
transformShadow(shadowPoints, e);
transformBody(bodyPoints, e, dataSet.getBodySpace());
float xShadow = shadowPoints[0];
float leftBody = bodyPoints[0];
float rightBody = bodyPoints[2];
float high = shadowPoints[1];
float low = shadowPoints[3];
float open = bodyPoints[1];
float close = bodyPoints[3];
if (isOffContentRight(leftBody))
break;
// make sure the lines don't do shitty things outside bounds
if (isOffContentLeft(rightBody)
&& isOffContentTop(low)
&& isOffContentBottom(high))
continue;
// draw the shadow
mDrawCanvas.drawLine(xShadow, low, xShadow, high, mRenderPaint);
// decide weather the body is hollow or filled
if (open > close) {
mRenderPaint.setStyle(Paint.Style.FILL);
// draw the body
mDrawCanvas.drawRect(leftBody, close, rightBody, open, mRenderPaint);
} else {
mRenderPaint.setStyle(Paint.Style.STROKE);
// draw the body
mDrawCanvas.drawRect(leftBody, open, rightBody, close, mRenderPaint);
}
}
}
}
示例15: drawHighlights
import com.github.mikephil.charting.data.CandleDataSet; //导入依赖的package包/类
@Override
protected void drawHighlights() {
for (int i = 0; i < mIndicesToHightlight.length; i++) {
int xIndex = mIndicesToHightlight[i].getXIndex(); // get the
// x-position
CandleDataSet set = mOriginalData.getDataSetByIndex(mIndicesToHightlight[i].getDataSetIndex());
if (set == null)
continue;
mHighlightPaint.setColor(set.getHighLightColor());
CandleEntry e = set.getEntryForXIndex(xIndex);
if(e == null) continue;
float low = e.getLow() * mPhaseY;
float high = e.getHigh() * mPhaseY;
float[] vertPts = new float[] {
xIndex, mYChartMax, xIndex, mYChartMin, xIndex + 1f, mYChartMax, xIndex + 1f,
mYChartMin
};
float[] horPts = new float[] {
0, low, mDeltaX, low, 0, high, mDeltaX, high
};
transformPointArray(vertPts);
transformPointArray(horPts);
// draw the vertical highlight lines
mDrawCanvas.drawLines(vertPts, mHighlightPaint);
// draw the horizontal highlight lines
mDrawCanvas.drawLines(horPts, mHighlightPaint);
}
}