我創建了一個Flex LineChart,可以顯示隨着時間推移的高潮和低潮的預測。我正在使用LineSeries和form =「curve」,它會產生一個很好的正弦波形圖,代表隨着時間的推移水位。 X軸表示時間,Y軸表示水位。我必須使用的唯一數據點是高潮和低潮值,但我想知道如何確定沿線的任意x值的y值。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 }
]);
這裏是我的折線圖:
<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>
而且我想知道在2010年2月26日的waterLevel
在09: 00。
這將是冷靜,如果我能做到
var date:Date = new Date(2010, 1, 26, 9, 0);
var waterLevel:Number = lineSeries1.getYValue(date);
但是,唉,這getYValue(xValue)
函數不存在。
我不想在任一方向上延伸曲線,而是要確定哪些值沿渲染線顯示。看來如果這條線是可見的,那麼應該有一種方法來確定線上的y值,但也許這是不可能的。 – echo 2010-02-27 06:31:31