我将数据作为JSON传递给Highcharts折线图。有多条线(曲线),它们有不同的起点和终点 - 但它们都需要一起绘制。因此,我的系列看起来像这样,这里的“数据”被布置成使得它们是x,y对:用用户输入动态转换数据(Highcharts,JavaScript,Django)
series = [{'data': [[20, 400], [30, 450]], 'name': 'pc1', 'visible': False},
{'data': [[40, 525], [50, 600], [70, 680]], 'name': 'pc2', 'visible': False},
{'data': [[80, 700], [90, 980]], 'name': 'pc3', 'visible': False}, etc.
该数据是使用标准空气密度来计算。我希望用户能够输入不同的空气密度,并且只需点击一个按钮即可使用数据(我正在用setData思考)。
基本上,数据是风速vs RPM - X值是风速,Y是相应的RPM。通过改变投入新的空气密度,用户将产生一个调整因子,然后用它来在新点找到RPM。这样一个简单的例子:
Standard Air Density (1.225 kg/m3):
1 mph 100rpm
2 mph 250rpm
3 mph 500rpm
现在我们计算与新的空气密度的调整因子(假定1.5公斤/立方米)与式adj_factor =(新空气密度/ 1.225)^(1/3) - >此返回1.07。有了这个因素,我可以通过以风速*调整系数获取功率并插入数据来计算新的转速。
New Air Density (1.5 kg/m3)
1 mph, (whatever RPM is @ 1.07mph (1mph*adj factor))
2 mph, (whatever RPM is @ 2.14mph (1mph*adj factor))
3 mph, (whatever RPM is @ 3.21mph (1mph*adj factor))
我遇到的问题是,我是一个在JS非常缺乏经验,也不太明白如何动态创建数据,或如何引用旧曲线与调整windspeeds Y值。
要做到这一点知道我必须插入数据 - 我已经使用numpy。
有没有办法从JavaScript端应用这种转换?我的图表的形式为标准HighCharts线图:
$(document).ready(function() {
$(chart_id).highcharts({
chart: chart,
title: title,
credits: credits,
xAxis: {},
yAxis: yAxis,
legend: legend,
series: series
});
,并在我的Django查看即时定义所有的参数:
chart = {"renderTo": chartID, "type": chart_type, "height": chart_height,}
title = {"text": 'Power Curves'}
yAxis = {"title": {"text": 'Output (RPM)'}}
series = json.dumps(series_)
而该系列前面提到的形式。该图表正常工作 - 这是数据的动态加载和我正在努力实现的调整因子。
感谢
你可以使用得到一系列最新数据。['系列设置新值highcharts。选项'](http://api.highcharts.com/highcharts#Series.options),返回的对象访问数据为'options.data'。然后改变数据并使用'Series.setData()'应用到系列。如果您遇到问题,请提供现场演示,例如在JSFiddle中。 –