次のように、線のシリーズにストロークを簡単に設定できます。
<mx:LineSeries yField="apple">
<mx:lineStroke>
<mx:Stroke
color="0x6699FF"
weight="4"
alpha=".8"
/>
</mx:lineStroke>
</mx:LineSeries>
これにより、ストローク全体のアルファが.8に設定されます
しかし、dataProviderの何かに基づいて、プロットごとにストロークに異なるアルファを設定できるようにしたいと思います。
たとえばyField
、lineSeriesのは「Apple」です。これは、lineSeriesのプロット先を知る方法です。alphaField
各プロットのストロークアルファを何に設定するかを指示するようなものを追加できるようにしたいと思います。
したがって、私のdataProviderが次の場合:
<result month="Jan-04">
<apple>81768</apple>
<alpha>1</alpha>
</result>
<result month="Feb-04">
<apple>51156</apple>
<alpha>1</alpha>
</result>
<result month="Mar-04">
<apple>51156</apple>
<alpha>.5</alpha>
</result>
alphaField="alpha"
次に、プロット0からプロット1までの実線のストロークと、プロット1からプロット2までの50%のアルファストロークを設定しました。
これどうやってするの???LineSeriesのcommitProperties()メソッドとupdateDisplayList()メソッドを調べていますが、これを行うために何を追加/変更する必要があるのかわかりませんか?
確かに、このクラスはGraphics.lineTo()を使用して各プロットを描画する必要があるため、基本的には、現在のalphaField値を何らかの方法で「取得」し、それぞれを描画する前に正しいアルファを使用してGraphics.lineStyle()を適用する必要があります。ライン。
ありがとう!!
アップデート
私は自分の答えにずっと近づきました。
LineRendererを拡張すると、GraphicsUtilities.drawPolyLine()を呼び出すupdateDisplayList()をオーバーライドします。
GraphicsUtilitiesを拡張し、メソッドdrawPolyLine()をオーバーライドします。これは、実際に線が描画される場所だからです。
ここでlineStyle()を呼び出して、行のアルファを変更できます...
drawPolyLine()メソッド内から、アルファがどうあるべきかを指示するデータにアクセスするにはどうすればよいか、まだ理解できないことが1つあります。
ありがとう!!!!