Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Yahoo';s Flash库ASTRA_Flash_Actionscript 3_Datatipfunction - Fatal编程技术网

在Yahoo';s Flash库ASTRA

在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

有人看过吗?它相当漂亮,但是我在为饼图创建自定义标签时遇到了一些问题。它们有一个折线图示例,该折线图覆盖axis系列的标签渲染器。我的解决方案是覆盖myPieChart.dataTipFunction。对于类似以下内容的数据:

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。