Я новичок в Flex. Я строил графики нескольких рядов на линейной диаграмме, где все эти серии имеют одинаковую длину. Теперь мне нужно построить новые данные, и каждая серия отличается друг от друга по длине. Вопрос в том, как изменить следующий код для этого.
Функция initApp () вызывается в начале программы и вызывает функцию genData () для генерации набора данных, используемого для построения графика в LineChart.
public function initApp():void {
// Initialize data provider array.
dataSet = new ArrayCollection(genData());
}
public function genData():Array {
var result:Array = [];
include "Data_File.as"; // load myarray<1|2|3|4> example data
for (var ii:int = 0; ii < myarray1.length; ii++) {
var localVals:Object = {
x1:myarray1[ii],
y1:myarray2[ii],
x2:myarray3[ii],
y2:myarray4[ii]
};
result.push(localVals); // Push new object onto the data array.
}
return result;
}
Переменная dataSet используется для построения нескольких рядов следующим образом.
<mx:LineChart id="myChart" dataProvider="{dataSet}">
<mx:series>
<mx:LineSeries id="series1" xField="x1" yField="y2"/>
<mx:LineSeries id="series2" xField="x2" yField="y2"/>
</mx:series>
</mx:LineChart>
Может кто-нибудь порекомендовать, как разместить массивы1, массив2, массив3 и массив4 в x1, y1, x2, y2 (соответственно), если длина массивов1 и массив2 не равна длине массивов3 и массив4? Или эквивалентный результат.
Я предполагаю, что все должно поступать через dataSet, но мне интересно, можно ли просто как-то ссылаться на array1 (и т. Д.) Непосредственно из <mx:LineChart ...>
или <mx:LineSeries ...>
, чтобы не тратить память на ненужный массив (например, DataSet).