다양한 데이터가 올 수있는 누적 기둥 형 차트가 있습니다. 세로축의 autoAdjust가 true로 설정되어 있고 일부 계열이 표시되지 않으면 (축 값이 계열 값의 범위에 도달하지 않았기 때문에) 문제가 발생합니다. 자동 축을 false로 설정하고 수동으로 최대 값과 최소값을 설정하면 모든 시리즈가 올바르게 표시되지만 수동 축 설정은 데이터에 대해 이미 알고있는 경우에만 가능합니다. 내 데이터가 동적이며 최대 축 값에 대한 아이디어가 없습니다. 문제에 대한 해결 방법이 있습니까? 미리 감사드립니다. 누적 기둥 형 차트의 동적 시리즈가 때때로 표시되지 않습니다.
1
A
답변
1
"render"이벤트를 사용하여 차트의 모든 시리즈 데이터를 순환하는 함수를 추가 할 수 있습니다. 이 이벤트는 아무 것도 렌더링되기 바로 전에 전달되고 차트에서 렌더링 할 수있는 최대 값을 계산하는 데 사용할 수 있습니다.
다음 예제에서 "min"계산을 활용하려면 세로 축 "baseAtZero"속성을 "false"로 설정하십시오. 여기
은 예이다 : 용액 용<mx:Canvas
xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="init()"
click="generateRandomData()"
>
<mx:Script>
<![CDATA[
import mx.charts.chartClasses.AxisBase;
import mx.charts.chartClasses.ChartBase;
import mx.charts.chartClasses.Series;
import mx.collections.ArrayCollection;
[Bindable]
public var testData:ArrayCollection = new ArrayCollection();
public function init():void{
generateRandomData();
}
public function generateRandomData():void{
var randomNumberOfObject:int = Math.floor((Math.random() * 100));
var i:int = 0;
var resultData:ArrayCollection = new ArrayCollection();
if(randomNumberOfObject <= 1){
randomNumberOfObject = 2;
}
while(i < randomNumberOfObject){
var dataObject:Object = new Object();
dataObject.date = i;
dataObject.value = Math.floor((Math.random() * 10));
dataObject.value2 = Math.floor((Math.random() * 10));
dataObject.value3 = Math.floor((Math.random() * 10));
resultData.addItem(dataObject);
i++;
}
testData = resultData;
}
public function adjustVerticalLabels(e:Event = null):void{
var chartSeries:Array = (e.currentTarget as ChartBase).series;
var vAxis:* = null;
var size:int = chartSeries.length;
var max:Number = 0;
var min:Number = NaN;
for each(var series:* in chartSeries){
if(vAxis == null){
vAxis = (series as Series).getAxis(ChartBase.VERTICAL);
}
if(series.enabled == true){
var dataField:String = series.yField;
for each(var item:* in series.dataProvider){
if(item[dataField] > max){
max = item[dataField];
}
if(isNaN(min)){
min = item[dataField];
}else{
if(item[dataField] < min){
min = item[dataField];
}
}
}
}
}
vAxis.minimum = min;
if(max > 2){
vAxis.maximum = max;
}else{
//Used when the chart values are very small
vAxis.maximum = 2;
}
}
]]>
</mx:Script>
<mx:BarChart id="lineChart"
width="100%" height="100%"
showDataTips="true"
dataTipMode="single"
seriesFilters="{[]}"
dataProvider="{testData}"
render="adjustVerticalLabels(event)"
>
<mx:horizontalAxis>
<mx:CategoryAxis id="testXAxis"
dataProvider="{testData}"
categoryField="date"
/>
</mx:horizontalAxis>
<mx:verticalAxis>
<mx:LinearAxis id="textYAxis"
baseAtZero="false"
/>
</mx:verticalAxis>
<mx:series>
<mx:ColumnSeries
yField="value"
displayName="Value"
/>
<mx:ColumnSeries
yField="value2"
displayName="Value2"
/>
<mx:ColumnSeries
yField="value2"
displayName="Value3"
/>
</mx:series>
</mx:BarChart>
</mx:Canvas>
관련 문제
- 1. 기둥 형 차트의 최소값과 최대 값 반전
- 2. 우선 순위가 2d 누적 기둥 형 차트 만들기
- 3. 플렉스 컬럼 시리즈가 컬럼을 표시하지 않습니다.
- 4. jqplot 강조 표시 누적 기둥 차트
- 5. 기둥 형 차트에서 색상이 변경되지 않습니다
- 6. TChart 오류 시리즈가 올바르게 표시되지 않습니다.
- 7. jqplot - 누적 형 차트의 합계가 아닌 개별 값
- 8. 차트의 눈금이 표시되지 않습니다 바로
- 9. 하이 차트의 누적 폭포수 차트
- 10. 때때로 UITableView에 데이터가 표시되지 않습니다.
- 11. 로드 이미지가 때때로 표시되지 않습니다.
- 12. Google 차트 : 기둥 형 차트, 원형 차트 불투명도
- 13. 기둥 형 차트를 사용하여 extjs에서 폭포수 차트 만들기
- 14. 마우스 클릭이 html5의 내 기둥 형 차트에서 작동하지 않습니다.
- 15. 기둥 형 차트 (도장)에서 플롯 이동
- 16. 하이 차트에 많은 데이터 포인트가있는 시리즈가 표시되지 않습니다.
- 17. 열이 결합됩니다. .NET 기둥 형 차트
- 18. 동일한 3D 축에 여러 개의 누적 기둥 형 차트를 지원하는 차트 라이브러리가 있습니까?
- 19. 동적 컨트롤이 표시되지 않습니다.
- 20. 동적 컨트롤이 표시되지 않습니다.
- 21. 때때로 내 목록보기의 아이콘이 표시되지 않습니다
- 22. ImageViews가 때때로 FrameLayout 액티비티에 표시되지 않습니다.
- 23. Visiblox 차트의 대화 형 범례
- 24. 하이 차트의 동적 데이터
- 25. 하이 차트에 다른 그룹 수 표시 누적 기둥 그래프
- 26. Tkinter (동적) 프레임이 표시되지 않습니다.
- 27. datepicker가 동적 입력에 표시되지 않습니다.
- 28. C에서 VS2010의 데이터베이스에서 차트의 동적 바인딩
- 29. Sencha 차트 - 특별한 누적 열
- 30. ExtJS 차트의 동적 데이터 저장소
감사합니다. 사실 내 문제는 다르지만 여기서 코딩 한 렌더링 이벤트는 내 차트에서 문제를 식별하는 데 도움이되었습니다. :-) 계속 기부하십시오. – ankurtr
일부 사람이이 [LINK] (http://www.scottlogic.com/blog/2009/04/14/missing-values-in-flex-charts.html)의 도움을받는다면 좋습니다. – manjs