Я создал Flex LineChart, который показывает прогнозы с высоким и низким приливом с течением времени. Я использую LineSeries с формой = «кривая», которая создает хороший синусоидальный волновой график, представляющий уровень воды с течением времени. Ось X представляет собой время, а ось Y представляет собой уровень воды. Единственными точками данных, с которыми я должен работать, являются значения высокого и низкого приливов, но я хотел бы выяснить, как определить значения y произвольных значений x вдоль линии.Flex LineSeries - найти y-значение вдоль кривой
Например, предположим, что у меня есть следующие пункты данных:
var highLowTidePredictions:ArrayCollection = new ArrayCollection([
{ Date: new Date(2010, 1, 26, 7, 15), waterLevel: 20.3 },
{ Date: new Date(2010, 1, 26, 13, 15), waterLevel: -1.2 },
{ Date: new Date(2010, 1, 26, 19, 15), waterLevel: 19.0 },
{ Date: new Date(2010, 1, 27, 1, 15), waterLevel: -1.0 },
{ Date: new Date(2010, 1, 27, 7, 15), waterLevel: 18.7 },
{ Date: new Date(2010, 1, 27, 13, 15), waterLevel: 0.7 }
]);
Вот моя диаграмма Line:
<mx:LineChart id="highLowLinePredictionsLineChart"
width="100%" height="100%"
dataProvider="{highLowTidePredictions}"
showDataTips="true">
<mx:horizontalAxis>
<mx:DateTimeAxis id="dta" />
</mx:horizontalAxis>
<mx:series>
<mx:LineSeries id="lineSeries1"
xField="Date" yField="waterLevel"
form="curve" interpolateValues="true" sortOnXField="true"/>
</mx:series>
</mx:LineChart>
И я хочу знать waterLevel
на 26 февраля 2010 в 09: 00.
Было бы здорово, если бы я мог сделать
var date:Date = new Date(2010, 1, 26, 9, 0);
var waterLevel:Number = lineSeries1.getYValue(date);
Но увы, что getYValue(xValue)
функция не существует.
Я не хочу расширять кривую в любом направлении, а скорее определять, какие значения отображаются вдоль визуализированной линии. Кажется, что если линия видна, то должен быть способ определить значения y вдоль линии, но, возможно, это невозможно. – echo