Ben arsa için bir gereksinim var çalıştırma tarihinin a görev Highcharts içinde. Görevlerin geçmişini yatay bir çubuk olarak çalıştırdığını göstermesi gerekir. Aşağıda güncelleme olarak eklediğim ek gereksinimler var. Son zamanlarda, bu inverted
seçeneğin StockChart'ta desteklenmediğini ve StockChart'ta yalnızca navigator & rangeSelector'ın mevcut olduğunu öğrendim . Bu nedenle bu işlevleri kullanıyorum.
Yani benzer bir şey yarattı gereksinimi elde etmek için bu jsfiddle örnekte (tarama kaynağını hatırlamıyorum yerde iken bulunur) ve ile sona erdi bu plunker bağlantısını önceki yardımıyla sorusuna , sayesinde Pawel FUS
Karışıklığı önlemek için soru güncelleniyor
Ek gereksinimler:
Göster sadece bu görevleri ran bir özellikle tarih ve saat aralığında . 10'dan fazla çalıştırma gibi çok fazla çalıştırma olması durumunda, diğer görevleri göstermek için kaydırılabilen bir y ekseni ile yalnızca 10 görevi görünür bir şekilde görüntülemenin bir yolu olması gerekir. soruna daha fazla bağlantı
Yukarıdaki plunker'ın problem açıklaması.
Eğer plunker yukarıdan aşağıdaki ekran işaretlerseniz, zaman aralığı arasındadır 12/12/2014 09:32:26
için 12/12/2014 10:32:26
ve tükendi sadece 2 görev vardır m_ARRAYV_SALES_ZIG1_CALL2_VOD__C_OB
& m_ZIG2_HCP_MERGE_IB_CN
. Ancak aralarında LILLY_C
bu tarih aralığında çalışmayan başka bir görev görebiliyorum . (Gerçek verilerde, bu çizelgeyi karıştıran ve bu tarih zaman aralığının altına bile girmeyen 10'dan fazla görev vardır)
Ayrıca en sağ alt köşede zamanın 'den' 09:38
e kaydığını fark ederseniz 19:20
. görev 19:20
için bitiş zamanı m_ZIG2_HCP_MERGE_IB_CN
.
Grafik seçeneklerim aşağıdadır
var chart_options = {
chart: {
renderTo: 'container',
height: 600
},
title: {
},
credits: {
enabled: false
},
xAxis: {
type: 'datetime',
gridLineWidth: 1,
tickInterval: 1 * 3600 * 1000,
dateTimeLabelFormats: {
month: '%b %e, %Y'
}
},
yAxis: {
tickInterval: 1,
gridLineWidth: 1,
labels: {
formatter: function() {
if (tasks[this.value]) {
return tasks[this.value].name;
}
}
},
startOnTick: false,
endOnTick: false,
title: {
text: 'Task'
}
},
rangeSelector: {
selected: 0,
buttons: [ {
type: "minute",
count: 60,
text: "1h"
}, {
type: "minute",
count: 180,
text: "3h"
}, {
type: "minute",
count: 300,
text: "5h"
}],
inputDateFormat: '%m/%d/%Y %H:%M:%S',
inputEditDateFormat: '%m/%d/%Y %H:%M:%S',
inputBoxWidth: 120
},
navigator: {
enabled: false
},
legend: {
enabled: false
},
tooltip: {
shared: false,
formatter: function() {
var str = '';
str += 'Task: ' + this.series.name + '<br>';
str += 'From: ' + Highcharts.dateFormat('%m/%d/%y %H:%M', this.point.from) + '<br>';
str += 'To: ' + Highcharts.dateFormat('%m/%d/%y %H:%M', this.point.to) + '<br>';
return str;
}
},
plotOptions: {
line: {
lineWidth: 10,
marker: {
enabled: true
},
dataLabels: {
enabled: true,
align: 'left',
formatter: function() {
return this.point.options && this.point.options.label;
}
},
states:{
hover:{
lineWidth:10
}
}
},
series: {
cursor: 'pointer',
point: {
events: {
click: function () {
var query = '{ "task_id": "'+this.task_id+'","start_time": '+this.from+',"exclude_interval": '+opExcludeMinutes+',"size": 10 }';
$scope.taskName = this.series.name;
$scope.isTaskSelected = false;
$scope.operationalReportAgentTaskHistoryServiceRequest(query);
}
}
}
}
},
series: seriesData
};