MPAndroidchart - 烛台图表为空白

时间:2017-01-14 21:38:27

标签: android mpandroidchart

正如标题所说,我试图将MPAndroidChart包含在一个项目中,并且无法显示蜡烛。这是我的代码:

    List<CandleEntry> ceList = new ArrayList<>();
    ceList.add(new CandleEntry(0, 4.62f, 2.02f, 2.70f, 4.13f));
    ceList.add(new CandleEntry(1, 5.50f, 2.70f, 3.35f, 4.96f));
    ceList.add(new CandleEntry(2, 5.25f, 3.02f, 3.50f, 4.50f));
    ceList.add(new CandleEntry(3, 6f,    3.25f, 4.40f, 5.0f));
    ceList.add(new CandleEntry(4, 5.57f, 2f,    2.80f, 4.5f));
    CandleDataSet cds = new CandleDataSet(ceList, "Entries");
    cds.setColor(Color.BLUE);
    cds.setValueTextColor(Color.RED);
    CandleData cd = new CandleData(cds);
    candleStickChart.setData(cd);
    candleStickChart.invalidate();

但我明白了:

enter image description here

图表Xml

    <com.github.mikephil.charting.charts.CandleStickChart
    android:id="@+id/CandleStickChart"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

带有折线图的相同代码似乎工作正常。 我有什么想法可能做错了吗? 谢谢!

2 个答案:

答案 0 :(得分:7)

尝试使用以下代码替换您的代码。

List<CandleEntry> ceList = new ArrayList<>();
    ceList.add(new CandleEntry(0, 4.62f, 2.02f, 2.70f, 4.13f));
    ceList.add(new CandleEntry(1, 5.50f, 2.70f, 3.35f, 4.96f));
    ceList.add(new CandleEntry(2, 5.25f, 3.02f, 3.50f, 4.50f));
    ceList.add(new CandleEntry(3, 6f,    3.25f, 4.40f, 5.0f));
    ceList.add(new CandleEntry(4, 5.57f, 2f,    2.80f, 4.5f));


    CandleDataSet cds = new CandleDataSet(ceList, "Entries");
    cds.setColor(Color.rgb(80, 80, 80));
    cds.setShadowColor(Color.DKGRAY);
    cds.setShadowWidth(0.7f);
    cds.setDecreasingColor(Color.RED);
    cds.setDecreasingPaintStyle(Paint.Style.FILL);
    cds.setIncreasingColor(Color.rgb(122, 242, 84));
    cds.setIncreasingPaintStyle(Paint.Style.STROKE);
    cds.setNeutralColor(Color.BLUE);
    cds.setValueTextColor(Color.RED);
    CandleData cd = new CandleData(cds);
    candleStickChart.setData(cd);
    candleStickChart.invalidate();

在此,您必须指定某些属性。

答案 1 :(得分:0)

我认为您必须为x轴使用1000以下的值,我不知道为什么,但是当我尝试此解决方案时,我的图表会像魅力一样工作 如果要为x轴添加时间,可以将时间戳除以1000000000.0,然后在值格式化程序中将此值与值相乘。