我在Android应用中实现了AnyChart LineChart,并努力显示彩色网格。

我想要实现的背景(不是图表类型)是:
https://playground.anychart.com/docs/v8/samples/AGST_Axes_Basic_11

我设法显示数据,但是一旦我将负责为网格着色的代码放入,就不会显示图表。这是代码:

    String[] rangeColors = new String[] {"#ff0000", "#00ff00"};
    cartesian.yGrid(0).palette(rangeColors);
    cartesian.yGrid(0).palette().count(10);
    cartesian.yScale().minimum(390).maximum(859);
    cartesian.yScale().ticks().interval(10);

如果我删除该行:
cartesian.yGrid(0).palette().count(10);

然后显示的图表带有yGrid彩色,但是它是绿色和红色交织在一起的,一个间隔是绿色,然后是红色,然后是绿色,依此类推。

与图表相关的其余代码来自示例:
https://github.com/AnyChart/AnyChart-Android/blob/master/sample/src/main/java/com/anychart/sample/charts/LineChartActivity.java
唯一的区别是Im仅具有1个数据序列,而不是3个。

有人可以帮我在Android上运行示例吗?

最佳答案

梯度步数功能由RangeColors类提供,因此您应使用此类而不是Palette。这就是为什么调用count(10)导致异常的原因。

以下代码描述了如何实现所需的着色:

        RangeColors palette = RangeColors.instantiate();
        palette.items("#ff0000", "#00ff00");
        palette.count(10);
        cartesian.yGrid(0).palette(palette);

下面的屏幕截图中的结果:
Result

10-08 05:48