在Yahoo';s Flash库ASTRA
有人看过吗?它相当漂亮,但是我在为饼图创建自定义标签时遇到了一些问题。它们有一个折线图示例,该折线图覆盖axis系列的标签渲染器。我的解决方案是覆盖myPieChart.dataTipFunction。对于类似以下内容的数据:在Yahoo';s Flash库ASTRA,flash,actionscript-3,datatipfunction,Flash,Actionscript 3,Datatipfunction,有人看过吗?它相当漂亮,但是我在为饼图创建自定义标签时遇到了一些问题。它们有一个折线图示例,该折线图覆盖axis系列的标签渲染器。我的解决方案是覆盖myPieChart.dataTipFunction。对于类似以下内容的数据: myPieChart.dataProvider = [ { category: "Groceries", cost: 50 }, { category: "Transportation", cost: 175} ] my
myPieChart.dataProvider =
[ { category: "Groceries", cost: 50 },
{ category: "Transportation", cost: 175} ]
myPieChart.dataField = "cost";
myPieChart.categoryField = "category";
我写了这样一个函数:
import com.yahoo.astra.fl.charts.series.*
myPieChart.dataTipFunction =
function (obj:Object, index:int, series:ISeries):String {
return obj.category + "\n$" + obj.cost;
};
ceil(2.718281828459045)存在以下问题:
dataItemRenderer
,但我不知道如何访问它。文档有点。。。没有
datatipffunction
的默认实现,但它都在一个编译的shm中,它是yahoo分发的组件的一部分
有人能帮我用百分比信息和第1点提到的灵活性完成这个覆盖函数吗?好的。。。所以没有人试过阿斯特拉,或者人们只是回避一些闪现的问题 经过大量的猜测工作后,我发现我需要将该系列转换为PieSeries,然后使用这些成员函数,因为ISeries本身是无用的
myPieChart.dataTipFunction =
function (item:Object, index:int, series:ISeries):String {
var oPieSeries:PieSeries = series as PieSeries;
return oPieSeries.itemToCategory(item,index) + "\n$" +
oPieSeries.itemToData(item) + "\n" +
Number(oPieSeries.itemToPercentage(item)).toFixed(2) + "%";
};
Astra组件随完整的源代码一起分发。FlashCS3组件使用已编译的垫片,因为否则您需要手动将原始源文件添加到类路径中。作为奖励,它们还提高了编译时间,因为它们已经为您构建好了。查看Astra zip文件中的“Source”文件夹,您将找到Astra组件的所有ActionScript类。这很方便,可以节省我的时间;我并没有下载这个zip。我试着回答一个设计师的问题,然后看了看饼图的例子只是一个FLA。我的机器上甚至没有flash。