amCharts 饼图 - 如何让切片在 rollOverSlice 上拉出?
amCharts pie - how to get slice to pull out on rollOverSlice?
我在浏览 amCharts Docs 时遇到了很多困难,我似乎无法在线找到这个问题的答案。
我正在使用 amCharts 饼图,我希望当鼠标滑过一个切片时发生一些事情,其中之一是让切片拉出当您单击幻灯片时发生的事情this demo.
这是我根据文档尝试的方法,但似乎不起作用:
var pieChartData = [
{
asset: 'Funiture',
marketValue: 50000.00
}, {
asset: 'Cash',
marketValue: 6250.00
}, {
asset: 'Car',
marketValue: 10000.00
}, {
asset: 'Other',
marketValue: 11250.00
}
];
chartAsset = AmCharts.makeChart(
'asset--chart', {
type: 'pie',
dataProvider: pieChartData,
valueField: 'marketValue',
titleField: 'asset',
startEffect: 'easeOutSine',
pulledField: 'pullOut',
//pullOutOnlyOne: true,
// pullOutEffect: 'easeInSine',
responsive: {
enabled: true
},
labelsEnabled: false,
balloon: {
fillAlpha: 0.95,
borderThickness: 1,
borderColor: '#000000',
shadowAlpha: 0,
}
}
);
chartAsset.addListener('rollOverSlice', function(e) {
console.log(e);
/**** Doesn't work: ******/
pieChartData[e.dataItem.index].pullOut = true;
chartAssetAllocation.dataProvider = pieChartData;
chartAssetAllocation.validateData();
});
有人可以帮忙吗?
不能直接触发拉出,但是有一种模拟切片点击的方法。 (参见 clickSlice)
此外,您必须添加另一个侦听器以离开切片,因此它将 return 恢复到其原始状态。
chartAsset.addListener('rollOverSlice', function(e) {
chartAsset.clickSlice(e.dataItem.index);
});
chartAsset.addListener('rollOutSlice', function(e) {
chartAsset.clickSlice(e.dataItem.index);
});
中找到一个例子
我在浏览 amCharts Docs 时遇到了很多困难,我似乎无法在线找到这个问题的答案。
我正在使用 amCharts 饼图,我希望当鼠标滑过一个切片时发生一些事情,其中之一是让切片拉出当您单击幻灯片时发生的事情this demo.
这是我根据文档尝试的方法,但似乎不起作用:
var pieChartData = [
{
asset: 'Funiture',
marketValue: 50000.00
}, {
asset: 'Cash',
marketValue: 6250.00
}, {
asset: 'Car',
marketValue: 10000.00
}, {
asset: 'Other',
marketValue: 11250.00
}
];
chartAsset = AmCharts.makeChart(
'asset--chart', {
type: 'pie',
dataProvider: pieChartData,
valueField: 'marketValue',
titleField: 'asset',
startEffect: 'easeOutSine',
pulledField: 'pullOut',
//pullOutOnlyOne: true,
// pullOutEffect: 'easeInSine',
responsive: {
enabled: true
},
labelsEnabled: false,
balloon: {
fillAlpha: 0.95,
borderThickness: 1,
borderColor: '#000000',
shadowAlpha: 0,
}
}
);
chartAsset.addListener('rollOverSlice', function(e) {
console.log(e);
/**** Doesn't work: ******/
pieChartData[e.dataItem.index].pullOut = true;
chartAssetAllocation.dataProvider = pieChartData;
chartAssetAllocation.validateData();
});
有人可以帮忙吗?
不能直接触发拉出,但是有一种模拟切片点击的方法。 (参见 clickSlice)
此外,您必须添加另一个侦听器以离开切片,因此它将 return 恢复到其原始状态。
chartAsset.addListener('rollOverSlice', function(e) {
chartAsset.clickSlice(e.dataItem.index);
});
chartAsset.addListener('rollOutSlice', function(e) {
chartAsset.clickSlice(e.dataItem.index);
});
中找到一个例子