Flex에서 ColumnChart를 재정의 한 updateDisplayList 함수로 사용자 정의한 경우 범례의 색상이 더 이상 표시되지 않습니다. 로서 당신은 아래 그림에 표시됩니다 Flex Column Chart 사용자 정의
http://i41.tinypic.com/mim35d.png
내가 놓친 게 있나요?감사합니다.
Flex에서 ColumnChart를 재정의 한 updateDisplayList 함수로 사용자 정의한 경우 범례의 색상이 더 이상 표시되지 않습니다. 로서 당신은 아래 그림에 표시됩니다 Flex Column Chart 사용자 정의
http://i41.tinypic.com/mim35d.png
내가 놓친 게 있나요?감사합니다.
소스 코드를 살펴보고 싶은 경우에는 여기를 클릭하십시오.
재정의 보호 기능 의 updateDisplayList (unscaledWidth : 수, unscaledHeight를 : 번호) : 무효 { super.updateDisplayList (unscaledWidth, unscaledHeight를);
var fill:IFill;
var state:String = "";
if (_data is ChartItem && _data.hasOwnProperty('fill'))
{
state = _data.currentState;
fill = _data.fill;
}
else
fill = GraphicsUtilities.fillFromStyle(getStyle('fill'));
var color:uint;
var adjustedRadius:Number = 0;
color = ColorUtil.adjustBrightness2(GraphicsUtilities.colorFromFill(fill),-20);
fill = new SolidColor(color);
adjustedRadius = getStyle('adjustedRadius');
if (!adjustedRadius)
adjustedRadius = 0;
var stroke:IStroke = getStyle("stroke");
var w:Number = stroke ? stroke.weight/2 : 0;
var rc:Rectangle = new Rectangle(w - adjustedRadius, w - adjustedRadius, width - 2 * w + adjustedRadius * 2, height - 2 * w + adjustedRadius * 2);
var g:Graphics = graphics;
g.clear();
g.moveTo(rc.left,rc.top);
if (stroke)
stroke.apply(g);
if (fill)
fill.begin(g,rc);
g.lineTo(rc.right-5,rc.top);
g.lineTo(rc.right-5,rc.bottom);
g.lineTo(rc.left+5,rc.bottom);
g.lineTo(rc.left+5,rc.top);
if (fill)
fill.end(g);
}
legendMarkerRenderer를 사용하여 범례 표식의 서식을 지정할 수 있습니다. 이 문서를 표시하는 방법을 바닥을 향해 : How to exclude series in legend (Flex)
: 당신의 전설을 사용자 정의 할 수 http://livedocs.adobe.com/flex/3/langref/mx/charts/LegendItem.html예 : http://livedocs.adobe.com/flex/3/html/help.html?content=charts_formatting_13.html
당신은 또한 자신의 LegendItem를의를 만들어도 더 LegendItem를의를 사용자 정의 할 수 있습니다