2011-08-04 14 views
1

フレックスで折れ線グラフを作成しましたが、期待通りに機能します。さて、具体的な情報のためにバックグラウンドにシェーディングを追加したいと思います。たとえば、この図表http://research.stlouisfed.org/fred2/graph/?id=TOTALSL,TOTALNSは、景気後退の影付きの背景を示しています。 Flexの線図でこのシェーディングをどのように模倣するのですか?フレックスチャートでの描画

おかげ

答えて

2

あなたは、描画APIを使用してグラフの背景にそれを描くことができます。

編集:

私は唯一の生産コードでそれをやった、ウェブ上の任意のコードの例を知らない(別名、私はそれを共有カント、申し訳ありません:() あなたがコンテナを作成することになるでしょうし、チャート

<mx:backgroundElements> 

あなたはこのコンテナの中にはおそらく別のプロパティと強調表示されたセクションを表示する際に説明するdataProviderとして、x軸用最小値と最大値を渡す必要にそれを置く。あなたは分を計算する必要がある場合がありますグラフに渡すデータプロバイダに基づいてmaxを設定します。

ハイライトされた領域を表示したい場合は、描画APIを使用して、コンテナの最小、最大、幅、およびデータポイント(開始値と終了値)に基づいてX軸を配置する場所を計算しますデータ提供者。

// code is not tested but a good start 

var shadeStartX:Number = (max-min)/startPoint; 
var shadeEndX:Number = (max-min)/endPoint; 
var shadeWidth:Number = shadeEndX - shadeStartX; 

... 

this.graphics.drawRect(shadeStartX, 0, shadeWidth, unscaledHeight); 

をしかし、あなたがホバー状態のようなものと、すべてのその良さを持つようにしたい場合、私はあなたが幅を渡し、表示オブジェクトを作成し、コンテナにそれを追加することを示唆している:それはあなたにupdateDisplayListにこのようになります。計算されたx軸で設定します。

+0

こんにちはasawilliams。お返事をありがとうございます。私はいくつかの図面が必要かもしれないと思った。私が提供したリンクに示されているように、バックグラウンドの描画をx軸上の日付に対応させるにはどうすればよいですか?これを示す一般的なチャートの例はありますか?それは大きく助けになるでしょう。ありがとう! – toneb

+0

ありがとう!それは正しい方向に私を指しているように見えます。私はそれを試してみましょう – toneb

+0

おかげで、私はこれを実際に始めることに多くの助けになったhttp://demo.quietlyscheming.com/overlayDemo/index.htmlを見つけました。しかし、についてのあなたの入力は仕上げのタッチを追加しました! – toneb

0

こんにちは私は自分自身を描くことは正しい道ではないと感じます。 LineChart内のPlotSeriesを理想的に使用し、シリーズ内の各要素に対してカスタムアイテムレンダラーを作成するのが理想的です。

PlotSeriesでは、チャート内の特定の日付/地点で描画する独自のカスタムイメージ/オブジェクトを与えることができます。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/charts/series/PlotSeries.html

http://livedocs.adobe.com/flex/3/html/help.html?content=charts_types_10.html

すべての例は、小さなオブジェクトにPlotSeriesがを示していますが、縦方向にグラフをカバーし、一定の幅を持っているオブジェクトを作成することができます。