2008-08-28 4 views
1

誰でもYahoo's ASTRAを見ましたか?それはかなり上品ですが、私は円グラフ用のカスタムラベルを作成する際にいくつか問題がありました。それらには、軸のシリーズのラベルレンダラーをオーバーライドする折れ線グラフの例があります。私の解決策はmyPieChart.dataTipFunctionをオーバーライドすることでした。YahooのFlashライブラリの円グラフにカスタムラベルを描くASTRA

  1. 私は直接のカテゴリを呼んでいる:CEILこれで(2.718281828459045)の問題があります

    import com.yahoo.astra.fl.charts.series.* 
    myPieChart.dataTipFunction = 
        function (obj:Object, index:int, series:ISeries):String { 
        return obj.category + "\n$" + obj.cost; 
        }; 
    

    :私はこのような関数を書いた

    myPieChart.dataProvider = 
        [ { category: "Groceries", cost: 50 }, 
        { category: "Transportation", cost: 175} ] 
    myPieChart.dataField = "cost"; 
    myPieChart.categoryField = "category"; 
    

    :ように見えるデータの場合およびデータプロバイダのコストプロパティに依存します。名前はチャートを設定するときに実際に設定可能です。その柔軟性を維持したいと思います。

  2. デフォルトのデータヒントには、カテゴリ、コスト(ドル記号なし)、および円グラフに占める割合が表示されます。だからここで、私はパーセンテージを失ってしまった。私はちょうどそれを保持するもののどのプロパティがわからない。それはシリーズの一部かもしれない。

  3. おそらく、シリーズのコストの部分についてはdataItemRendererを上書きするだけですが、アクセス方法はわかりません。ドキュメントは少し欠けています...そこに欠けています。

通常、私はちょうどdataTipFunctionのデフォルトの実装を見てだろうが、それはすべてのヤフーからの分散コンポーネントの一部だコンパイルSHMの内側です。

ポイント1で説明したパーセンテージの情報と柔軟性で、このオーバーライドされた機能を完成させることができますか?

答えて

2

いいえ...誰も試したことのないAstra、または人々がフラッシュの質問を避けるだけです。

多くの推測作業の後で、私はシリーズを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) + "%"; 
    }; 
0

Astraコンポーネントは完全なソースコードと共に配布されます。 Flash CS3コンポーネントはコンパイルされたシムを使用します。そうしないと、生のソースファイルをクラスパスに手動で追加する必要があるからです。彼らはすでにあなたのために構築されているので、ボーナスとして、彼らはまた、コンパイル時間を向上させます。 Astra zipファイルの "Source"フォルダを見ると、AstraコンポーネントのすべてのActionScriptクラスが見つかります。

+0

これは便利なことで、時間を節約できました。私は実際にこのジッパーをダウンロードしていませんでした。私はデザイナーの質問に答えようとしていました。http://developer.yahoo.com/flash/astra-flash/charts/examples.htmlで、円グラフの例はFLAだけでした。私は自分のマシンにフラッシュがない。 – dlamblin

関連する問題