我正在使用MPAndroidChart library。
我想使用CombinedChart
创建一个类似的图表:
这可能吗?我试了一下,但它似乎没有用,因为 条目不按我的预期工作。你不能说一个条目 x轴上的值为2,y轴上的值为300。我也不能创造 两个不同的y轴,一个用于条形,一个用于线条。
一些奇怪的事情是MPAndroidChart首先添加所有x值 之后所有的y值都没有可能控制 哪个y值属于哪个x值,因为它只是插入 y值按其出现的顺序排列并与下一个相关联 x值。
有什么方法可以用MPAndroidChart创建这样的图表。 我实际上不想被迫使用谷歌图表因为 需要互联网连接(但创建这种图表会 与Google Charts完美配合。)
答案 0 :(得分:1)
You can create a custom class that extends View and in onDraw method create Rectangles of the required height, width and position for bars. As for the lines well that's obvious, set the stroke to make it more visible.
I have used a custom View to create bars in my app WhiteMarker and lines in Chron.
答案 1 :(得分:1)
更新:v3.0.0 +
CombinedChart
的示例已经扩展,现在允许堆叠条和分组条与其他图表类型一起使用。
为CombinedChart
设置数据的本质是CombinedData
类。它可以填充各种其他数据,例如LineData
,BarData
等:
CombinedData data = new CombinedData();
data.setData(generateLineData()); // set LineData...
data.setData(generateBarData()); // set BarData...
data.setData(generateBubbleData());
data.setData(generateScatterData());
data.setData(generateCandleData());
chart.setData(data);
chart.invalidate();
如何创建例如可以在setting data文档中找到LineData。
答案 2 :(得分:1)
由于被接受的aswer链接断开,您应该使用:
<com.github.mikephil.charting.charts.CombinedChart
android:id="@+id/chart"/>
使用您的XML
然后是一些代码:
LineData linearData = new LineData(set1);
// Set you LinearData
BarData barData = new BarData(set2);
// Set you LinearData
CombinedData data=new CombinedData();
data.setData(linearData);
data.setData(barData);
编辑: 原始答案已被修改以反映我刚才写的内容。链接已更新,并添加了一些代码。