我正在尝试学习如何使用Django将自己的值/标签传递到Highcharts图,并且在正确构造数据/传递参数方面遇到了一些问题。
我看了这个例子(https://www.highcharts.com/demo/line-basic),数据看起来像是一个数组数组,所以我想这就是我的系列的样子。
这是我的看法:
// in views.py:
def make_graph(request):
dates = // A list of datetime.date objects.
values = [1, 2, 3, 4, 5, 2, 3, 5, 3, 3]
data = [[d, v] for d, v in zip(dates, values)]
context = {"data": data}
return render("graph.html", context)
现在,这是我的Highcharts脚本:
<script>
var data = {{ data|safe }};
Highcharts.chart('container', {
chart: {
type: 'spline'
},
title: {
text: 'some title'
},
subtitle: {
text: 'some subtitle'
},
xAxis: {
type: 'datetime',
dateTimeLabelFormats: {
month: '%e. %b',
year: '%b'
},
title: {
text: 'Date'
}
},
yAxis: {
title: {
text: 'y value'
}
},
tooltip: {
headerFormat: '<b>{series.name}</b><br>',
pointFormat: '{point.x:%e. %b}: {point.y:.2f} m'
},
plotOptions: {
spline: {
marker: {
enabled: true
}
}
},
colors: ['#6CF', '#39F', '#06C', '#036', '#000'],
series: [{
name: "Trend",
data: data
}]
});
</script>
运行此HTML模板时,不会显示任何图表。它只是一个空白页,所以我猜测构造data
并将其传递到模板中的方式是错误的。 (我一直在使用CDN,并且示例图表工作正常,因此我认为它不是js问题)。
所以,我的问题是,在data
中格式化views.py
的正确方法是什么,如何正确地将序列数据设置为data
?谢谢。
答案 0 :(得分:0)
使用以下命令解决了此问题:How to convert datetime string to UTC to plot points on Highcharts
基本上转换为日期时间的对象为整数值。