早上好,
我正在尝试在android(https://github.com/AnyChart/AnyChart-Android)中实现AnyChart极坐标图,该极谱图应与此类似(https://playground.anychart.com/gallery/Polar_Charts/Line_Polar_Chart) 。我知道这个示例在javascript中,并且我正在Android中进行开发,虽然并不完全相同,但是可以保留我想要达到的结果的引用。
从该示例中,我一直在努力将xAxis标签(0°,30°,...)更改为定制的字符串,例如(“零”,“三十”,...)。我没有设法找到返回标签字符串的xAxis标签获取器(https://api.anychart.com/v8/anychart.core.ui.LabelsFactory#getLabel),但是找不到标签设置器...
我的目标是保持Anychart极坐标图的数值功能性,其中可以从(45°,值1)到(45°,值5)绘制一条线,并在图的xlabel上显示字符,因此在标签上看到“ 45°”,应该说“四十五”
有谁知道这是否可以实现?非常感谢你!
您可以使用format()
xAxis标签的功能来实现。在回调函数中,您可以实现自己的逻辑,以将数字转换为单词(如大小写,哈希图等)。该片段描述了如何实现这一目标。
AnyChartView anyChartView = findViewById(R.id.any_chart_view);
Polar polar = AnyChart.polar();
List<DataEntry> data = new ArrayList<>();
data.add(new ValueDataEntry(0, 10));
data.add(new ValueDataEntry(15, 8));
data.add(new ValueDataEntry(30, 12));
data.add(new ValueDataEntry(45, 11));
Set set = Set.instantiate();
set.data(data);
Mapping series1Data = set.mapAs("{ x: 'x', value: 'value' }");
polar.line(series1Data);
Linear scale = Linear.instantiate();
scale.minimum(0).maximum(360);
scale.ticks().interval(30);
polar.xScale(scale);
polar.xAxis().labels().format("function() {" +
"if (this.tickValue == 60) return 'sixty';" +
"if (this.tickValue == 90) return 'ninety';" +
"if (this.tickValue == 120) return 'hundred twenty';" +
"return this.tickValue;" +
"}");
anyChartView.setChart(polar);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句