使用用户输入动态转换数据(Highcharts,JavaScript,Django)
Dynamically Transform Data with User Input (Highcharts, JavaScript,Django)
我正在将数据作为JSON传递给Highcharts折线图。有多条线(而是曲线),它们有不同的起点和终点 - 但它们都需要一起绘制。因此,我的系列看起来像这样,其中"数据"的排列使它们是 x,y 对:
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)。
基本上,数据是风速与 RPM - X 值是风速,Y 是相应的 RPM。通过更改新空气密度,用户将生成一个调整因子,然后用于在新点找到 RPM。举个简单的例子:
Standard Air Density (1.225 kg/m3):
1 mph 100rpm
2 mph 250rpm
3 mph 500rpm
现在我们用新空气密度(假设 1.5 kg/m3)计算一个调整因子,公式为 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非常缺乏经验,不太了解如何动态创建数据,或者如何使用调整后的风速引用旧曲线Y值。
要做到这一点,我知道我必须插值数据 - 我已经使用 numpy 完成了。
有没有办法从 JavaScript 端应用这种转换?我的图表是以下形式的标准高图表折线图:
$(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_)
以及前面提到的一系列形式。图表工作正常 - 这是我正在努力解决的数据动态加载和调整因子的实施。
谢谢
在
JavaScript 中定义 3 个数据数组,然后单击按钮更改数组中的值并使用 setData 将新值设置为 highcharts
相关文章:
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 借助asp.net验证或java脚本对多个文本进行验证
- java.net和javascript之间正则表达式的差异
- 如何从Java/scala调用js美化程序
- 如何使用json将对象列表从java转换为javascript
- Java脚本时间添加
- 在Web应用程序中使用Highcharts javascript
- WebDriverException:tinyMCE未在selenium Web driver java中定义
- 如何将字符串值从php页面发送到java脚本页面
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- DOM事件通过JSON转换为java
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- HighCharts长标题文本在某些元素上重叠
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- Highcharts colorsByPoint与系列中的线性渐变一起使用时不起作用
- JSON分析错误:Java中AJAX、Javascript和Servlet的意外EOF
- java脚本在Chrome和其他浏览器中对LocaleTimeString的不同行为
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- 如何在java脚本中表示highcharts的日期数组