Javascript 自定义工具提示使蜡烛棒保持原样
我用Highstockchart在图表上绘制了4个系列,主要的是一个烛台,然后我有2个系列来绘制priceplus,pricelower prices,然后另一个系列来表示数量。 我遇到了一个问题,因为pricelower/priceplus的工具提示将时间显示为unix日期时间,而不是人类可重新定义的形式(正如您在这个屏幕截图中看到的) 我不想修改这个 我该怎么做? 谢谢 这是我的JS代码Javascript 自定义工具提示使蜡烛棒保持原样,javascript,highstock,Javascript,Highstock,我用Highstockchart在图表上绘制了4个系列,主要的是一个烛台,然后我有2个系列来绘制priceplus,pricelower prices,然后另一个系列来表示数量。 我遇到了一个问题,因为pricelower/priceplus的工具提示将时间显示为unix日期时间,而不是人类可重新定义的形式(正如您在这个屏幕截图中看到的) 我不想修改这个 我该怎么做? 谢谢 这是我的JS代码 function onSuccess(data) { var r = JSON.string
function onSuccess(data) {
var r = JSON.stringify(data);
debugger;
kendo.ui.progress($('#container'), false);
$('#container')
.highcharts('StockChart',
{
exporting: {
enabled: false
},
credits:
{
enabled: false
},
rangeSelector: {
selected: 1,
inputEnabled:false,
buttonTheme: {
visibility: 'hidden'
},
labelStyle: {
visibility: 'hidden'
}
},
yAxis: [
{
height: '80%',
lineWidth: 2
}, {
top: '85%',
height: '15%',
offset: 0,
lineWidth: 2
}
],
xAxis:
{
ordinal: true
}
,
series: [
{
type: 'candlestick',
name: 'Price',
data: data.Prices,
id: 'dataseries',
upColor: "#31D431",
color: "#D22F2F",
marker:{
enabled: true
}
},
{
type: 'scatter',
name: 'Prices plus',
data: data.PricesPlus
},
{
type: 'scatter',
name: 'Price less',
data: data.PricesLess
}
, {
type: 'column',
name: 'Volume',
data: data.Volume,
yAxis: 1,
dataGrouping: {
units: groupingUnits
}
}
],
width: 4,
tooltip: {
shared: false
}
});
}
您应该使用tooltip.formatter,然后创建弹出窗口的内容。每个值都可以从点参照中提取
tooltip:{
formatter: function() {
var points = this.point ? Highcharts.splat(this.point) : this.points,
point = points[0],
each = Highcharts.each,
txt = '';
txt += '<span style="font-size: 10px">' + Highcharts.dateFormat('%A, %b, %H:%M', point.x) + '</span><br/>';
each(points, function(p, i) {
if(p.point && p.point.open) {
txt += '<span style="color:' + p.color + '">\u25CF</span><b> ' + p.series.name + '</b>:<br/>Open: ' + p.point.open + '<br/>High: ' + p.point.high + '<br/>Low: ' + p.point.low + '<br/>Close: ' + p.point.close + '<br/>';
} else {
txt += '<span style="color:' + p.color + '">\u25CF</span> ' + p.series.name + ': <b>' + p.y + '</b><br/>';
}
});
return txt;
}
},
工具提示:{
格式化程序:函数(){
var points=this.point?Highcharts.splat(this.point):this.points,
点=点[0],
each=Highcharts.each,
txt='';
txt+=''+Highcharts.dateFormat(“%A,%b,%H:%M',point.x)+'
;
每个(点、功能(p、i){
如果(p.point和&p.point.open){
txt+='\u25CF'+p.series.name+':
打开:'+p.point.Open+'
高:'+p.point.High+'
低:'+p.point.Low+'
关闭:'+p.point.Close+'
;
}否则{
txt+='\u25CF'+p.series.name+':'+p.y+'
;
}
});
返回txt;
}
},
例如:
-您应该使用tooltip.formatter,然后创建弹出窗口的内容。每个值都可以从点参照中提取
tooltip:{
formatter: function() {
var points = this.point ? Highcharts.splat(this.point) : this.points,
point = points[0],
each = Highcharts.each,
txt = '';
txt += '<span style="font-size: 10px">' + Highcharts.dateFormat('%A, %b, %H:%M', point.x) + '</span><br/>';
each(points, function(p, i) {
if(p.point && p.point.open) {
txt += '<span style="color:' + p.color + '">\u25CF</span><b> ' + p.series.name + '</b>:<br/>Open: ' + p.point.open + '<br/>High: ' + p.point.high + '<br/>Low: ' + p.point.low + '<br/>Close: ' + p.point.close + '<br/>';
} else {
txt += '<span style="color:' + p.color + '">\u25CF</span> ' + p.series.name + ': <b>' + p.y + '</b><br/>';
}
});
return txt;
}
},
工具提示:{
格式化程序:函数(){
var points=this.point?Highcharts.splat(this.point):this.points,
点=点[0],
each=Highcharts.each,
txt='';
txt+=''+Highcharts.dateFormat(“%A,%b,%H:%M',point.x)+'
;
每个(点、功能(p、i){
如果(p.point和&p.point.open){
txt+='\u25CF'+p.series.name+':
打开:'+p.point.Open+'
高:'+p.point.High+'
低:'+p.point.Low+'
关闭:'+p.point.Close+'
;
}否则{
txt+='\u25CF'+p.series.name+':'+p.y+'
;
}
});
返回txt;
}
},
例如:
-对不起,我在这个集合中添加了一个标记系列,但它没有显示文本,它说未定义。。。我如何在格式化程序中处理它?是否添加了额外的系列?你能用你的代码更新我的JSFIDLE吗?对不起,我已经在这个集合中添加了一个标记系列,但是它没有显示文本,它说未定义。。。我如何在格式化程序中处理它?是否添加了额外的系列?你能用你的代码更新我的JSFIDLE吗?