问题描述:
使用HighCharts库绘制Treemap树形图时,Treemap会默认显示叶子节点而非父节点。
示例代码:
下面是一个简单的Android HighCharts Treemap示例代码:
HighchartsView highchartsView = findViewById(R.id.highchartView);
Options options = new Options();
options.setChart(new Chart());
options.setTitle(new Title("Treemap Example"));
TreemapSeries series = new TreemapSeries();
series.setType("treemap");
// 设置数据
series.setData(getData());
// 设置数据标签
DataLabels labels = new DataLabels();
labels.setEnabled(true);
labels.setFormat("{point.name}");
series.setDataLabels(labels);
options.setSeries(new Series[]{series});
highchartsView.setOptions(options);
〔
在TreemapSeries对象中设置layoutAlgorithm参数为"stripes",并设置 alternateStartingDirection 参数为true,即可显示父节点而非叶子节点。
示例代码:
TreemapSeries series = new TreemapSeries();
series.setType("treemap");
// 设置数据
series.setData(getData());
// 设置数据标签
DataLabels labels = new DataLabels();
labels.setEnabled(true);
labels.setFormat("{point.name}");
series.setDataLabels(labels);
// 设置layoutAlgorithm为stripes,并设置alternateStartingDirection参数
StripesLayoutAlgorithm layoutAlgorithm = new StripesLayoutAlgorithm();
layoutAlgorithm.setAlternateStartingDirection(true);
series.setLayoutAlgorithm(layoutAlgorithm);
options.setSeries(new Series[]{series});
经过以上修改,就可以正常显示父节点了。
在TreemapSeries对象中设置layoutAlgorithm参数为"stripes",并设置 alternateStartingDirection 参数为true,即可显示父节点而非叶子节点。
示例代码:
TreemapSeries series = new TreemapSeries();
series.setType("treemap");
// 设置数据
series.setData(getData());
// 设置数据标签
DataLabels labels = new DataLabels();
labels.setEnabled(true);
labels.setFormat("{point.name}");
series.setDataLabels(labels);
// 设置layoutAlgorithm为stripes,并设置alternateStartingDirection参数
StripesLayoutAlgorithm layoutAlgorithm = new StripesLayoutAlgorithm();
layoutAlgorithm.setAlternateStartingDirection(true);
series.setLayoutAlgorithm(layoutAlgorithm);
options.setSeries(new Series[]{series});
经过以上修改,就可以正常显示父节点了。