Что бы я сделал, чтобы сделать это, просто проделайте обработку данных, чтобы создать две серии, а затем запишите их оба на один и тот же сюжет. Одна серия для 0-179, а другая для 180-359.
Вы также можете рассмотреть график рассеяния вместо линейного графика, особенно если ваши данные в любой из этих серий не так гладки, как данные в примере. Это означает, что одна точка данных, например, 10, а следующая - 110, а затем следующая после 12 или некоторые из них.
Этот код дает вам пример, данные предоставляются JSON, но вы должны быть в состоянии только с легкостью заменить его, однако ваши данные поступают в:
<script type="text/javascript">
$(document).ready(function() {
var chart = new Highcharts.Chart({
title: {
text: 'Wind Direction'
},
chart: {
renderTo: 'dataplot4',
borderWidth: 1,
defaultSeriesType: 'scatter',
zoomType: 'x'
},
legend: {
enabled: false
},
plotOptions: {
series: {
marker: {
radius: 3,
states: {
hover: {
enabled: true
}
}
}
}
},
xAxis: {
type: 'datetime'
},
yAxis: {
tickInterval: 90,
min: 0,
max: 360,
title: {
text: 'Wind Direction (deg)'
}
},
tooltip: {
crosshairs: true,
formatter: function() {
return '<b>' + Highcharts.dateFormat('%e. %b %Y, %H:00', this.x) + ' AKST</b> ' +
this.series.name + ': ' + this.y + ' deg';
}
},
series: [
{
name: 'Wind Direction',
data: JSON.parse("[" + wind_dir + "]"),
pointStart: Number(startDateTime),
pointInterval: 3600000
}
]
});
});
</script>
Я хотел бы думать, что у меня есть jsfiddle для этого где-нибудь, обновит ответ, когда выкопаю его.
EDIT: Вот скрипка, показывающая график рассеяния в действии. http://jsfiddle.net/Reality_Extractor/pNFYL/
Спасибо за ответ, но мне действительно нужны точки, которые нужно подключить. Я думаю, что мои данные достаточно плотные (с 5-минутными интервалами, что составляет в общей сложности 288 баллов). Компромисс, как вы упомянули, состоит в том, чтобы сломать серию, но выглядит странно, если нет линии между двумя значениями, которые находятся достаточно далеко от границы, но должны логически проходить через север (0/360), а не на юг (180), если перейти от первого ко второму. Например, для первой точки должно быть около 70, а второе около 290. Я отредактировал вопрос, чтобы сделать это более явным. – David
О, я просто думаю о возможном способе, если я разбиваю серию на несколько частей, что добавляет точку, которая уходит с диапазоном оси y. Однако это потребует существенной модификации исходных данных. Очевидно, нужна простая процедура для достижения этого ... – David
Я не уверен, что это то, что вам нужно, но как насчет добавления нулевых значений для разделения рядов на несколько частей? Взгляните на это: http://jsfiddle.net/pNFYL/16/ – slawekkolodziej