MPAndroidChart:组合图表
MPAndroidChart: Combined Chart
我正在使用 MPAndroidChart library。
我想使用 CombinedChart
创建这样的图表:
这可能吗?我试过了,但它似乎不起作用,因为
这些条目没有按我预期的那样工作。你不能说一个条目有
x 轴上的值 2 和 y 轴上的值 300。我也无法创建
两个不同的 y 轴,一个用于条形,一个用于线条。
有些奇怪的是 MPAndroidChart 首先添加所有 x 值
之后所有的 y 值,你就无法控制
哪个 y 值属于哪个 x 值,因为它只是插入
按出现顺序排列的 y 值,并将其与下一个相关联
x 值。
有什么方法可以用 MPAndroidChart 创建这样的图表。
我实际上不想被迫使用 Google 图表,因为
需要互联网连接(但创建那种图表会
与 Google 图表完美配合。
您可以创建自定义的 class 来扩展视图,并在 onDraw 方法中为条形图创建具有所需高度、宽度和位置的矩形。对于明显的线条井,设置描边使其更明显。
我使用自定义视图在我的应用程序中创建栏WhiteMarker and lines in Chron。
- 你可以有 2 个不同的轴
- 您可以控制哪个 y 值属于哪个 x 值(当然!)
- 查看 combined-chart-example
- 看起来像这样:
更新:v3.0.0+
CombinedChart
的示例已得到扩展,现在允许堆叠条形图和分组条形图以及其他图表类型。
CombinedChart
设置数据的实质是CombinedData
class。它可以填充各种其他数据,例如 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。
由于接受的答案有损坏的链接,您应该使用:
<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);
编辑:
原始答案已被修改以反映我刚刚写的内容。已更新链接并添加了一些代码。
我正在使用 MPAndroidChart library。
我想使用 CombinedChart
创建这样的图表:
这可能吗?我试过了,但它似乎不起作用,因为 这些条目没有按我预期的那样工作。你不能说一个条目有 x 轴上的值 2 和 y 轴上的值 300。我也无法创建 两个不同的 y 轴,一个用于条形,一个用于线条。
有些奇怪的是 MPAndroidChart 首先添加所有 x 值 之后所有的 y 值,你就无法控制 哪个 y 值属于哪个 x 值,因为它只是插入 按出现顺序排列的 y 值,并将其与下一个相关联 x 值。
有什么方法可以用 MPAndroidChart 创建这样的图表。 我实际上不想被迫使用 Google 图表,因为 需要互联网连接(但创建那种图表会 与 Google 图表完美配合。
您可以创建自定义的 class 来扩展视图,并在 onDraw 方法中为条形图创建具有所需高度、宽度和位置的矩形。对于明显的线条井,设置描边使其更明显。
我使用自定义视图在我的应用程序中创建栏WhiteMarker and lines in Chron。
- 你可以有 2 个不同的轴
- 您可以控制哪个 y 值属于哪个 x 值(当然!)
- 查看 combined-chart-example
- 看起来像这样:
更新:v3.0.0+
CombinedChart
的示例已得到扩展,现在允许堆叠条形图和分组条形图以及其他图表类型。
CombinedChart
设置数据的实质是CombinedData
class。它可以填充各种其他数据,例如 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。
由于接受的答案有损坏的链接,您应该使用:
<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);
编辑: 原始答案已被修改以反映我刚刚写的内容。已更新链接并添加了一些代码。