Javascript 在highchart的工具提示中创建图形
在highchart中有一些数据显示为列。数据以列的形式显示每月的注册情况 以下是JSFIDLE的链接: 在图形的每个工具提示中,您希望显示另一个柱状图Javascript 在highchart的工具提示中创建图形,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,在highchart中有一些数据显示为列。数据以列的形式显示每月的注册情况 以下是JSFIDLE的链接: 在图形的每个工具提示中,您希望显示另一个柱状图 $(function () { // Registrations Data var data ={10:{"Morning":2,"Afternoon":3,"Night":5},//Jan 12:{"Morning":2,"Afternoon":5,"Night":5},//Feb 15:{"M
$(function () {
// Registrations Data
var data ={10:{"Morning":2,"Afternoon":3,"Night":5},//Jan
12:{"Morning":2,"Afternoon":5,"Night":5},//Feb
15:{"Morning":5,"Afternoon":3,"Night":7},//Mar
17:{"Morning":8,"Afternoon":3,"Night":6},//Apr
18:{"Morning":2,"Afternoon":3,"Night":13}, //May
22:{"Morning":12,"Afternoon":3,"Night":7},//June
15:{"Morning":2,"Afternoon":8,"Night":5},//July
27:{"Morning":12,"Afternoon":11,"Night":4},//Aug
17:{"Morning":2,"Afternoon":5,"Night":10},//Sep
10:{"Morning":2,"Afternoon":3,"Night":5},//Oct
14:{"Morning":2,"Afternoon":4,"Night":8},Nov
24:{"Morning":12,"Afternoon":7,"Night":5},DEc
}
var series_data=[]
for (key in data) {series_data.push(parseInt(key))}
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'column'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: series_data
}]
});
});
例如,在上面的JSFIDLE示例中所以,在和一月数据相关联的列上悬停时,它应该在工具提示{“上午”:2,“下午”:3,“晚上”:5}中显示另一列highchart。 i、 e.上午2点、下午3点和晚上5点登记
任何帮助如何实现这一点 我不确定工具提示中是否有图表,但您可以使用HTML,如API文档中的以下示例:
工具提示:{
分享:是的,
是的,
headerFormat:“{point.key}”,
pointFormat:“{series.name}:”+
“{point.y}EUR”,
页脚格式:“”,
数值小数:2
}
没有100%确定如何将数据传递到工具提示中…我不确定工具提示中是否包含图表,但您可以使用HTML,例如API文档中的以下示例:
工具提示:{
分享:是的,
是的,
headerFormat:“{point.key}”,
pointFormat:“{series.name}:”+
“{point.y}EUR”,
页脚格式:“”,
数值小数:2
}
没有100%确定如何将数据传递到工具提示中…我不确定工具提示中是否包含图表,但您可以使用HTML,例如API文档中的以下示例:
工具提示:{
分享:是的,
是的,
headerFormat:“{point.key}”,
pointFormat:“{series.name}:”+
“{point.y}EUR”,
页脚格式:“”,
数值小数:2
}
没有100%确定如何将数据传递到工具提示中…我不确定工具提示中是否包含图表,但您可以使用HTML,例如API文档中的以下示例:
工具提示:{
分享:是的,
是的,
headerFormat:“{point.key}”,
pointFormat:“{series.name}:”+
“{point.y}EUR”,
页脚格式:“”,
数值小数:2
}
没有100%确定如何将数据传递到其中…要使一个点的工具提示包含另一个图表,您需要做3件事(我确定还有其他方法,但这是基本方法)。我不记得我是从哪里弄来的,因为这不是我的代码,但它是有效的: 1首先设置用于每个点的数据
var data0 = [12, 12];
var data1 = [6, 12];
var toolTipData = [];
toolTipData.push(data0);
toolTipData.push(data1);
2然后构建一种方法,以提取适当的数据点
tooltip: {
useHTML: true,
formatter: function() {
var i = this.key;
setTimeout( function() {
$("#hc-tooltip").highcharts({
series: [{
data: toolTipData[i]
}]
});
}, 10)
}
},
3现在你需要把你刚刚制作的图表放入一个容器中
tooltip: {
useHTML: true,
formatter: function() {
var i = this.key;
setTimeout( function() {
$("#hc-tooltip").highcharts({
series: [{
data: toolTipData[i]
}]
});
}, 10)
return '<div id="hc-tooltip"></div>';
}
},
工具提示:{
是的,
格式化程序:函数(){
var i=this.key;
setTimeout(函数(){
$(“#hc工具提示”).highcharts({
系列:[{
数据:工具提示数据[i]
}]
});
}, 10)
返回“”;
}
},
setTimeout
用于平滑工具提示/图表的创建。因此,我们在这里所做的是创建一个数组(toolTipData
),并用每个点的工具提示图表所使用的数据(data0
和data1
)填充它。我们通过显示工具提示的点的索引访问工具提示数据。要使一个点的工具提示包含另一个图表,您需要做3件事(我确信还有其他方法,但这是基本方法)。我不记得我是从哪里弄来的,因为这不是我的代码,但它是有效的:
1首先设置用于每个点的数据
var data0 = [12, 12];
var data1 = [6, 12];
var toolTipData = [];
toolTipData.push(data0);
toolTipData.push(data1);
2然后构建一种方法,以提取适当的数据点
tooltip: {
useHTML: true,
formatter: function() {
var i = this.key;
setTimeout( function() {
$("#hc-tooltip").highcharts({
series: [{
data: toolTipData[i]
}]
});
}, 10)
}
},
3现在你需要把你刚刚制作的图表放入一个容器中
tooltip: {
useHTML: true,
formatter: function() {
var i = this.key;
setTimeout( function() {
$("#hc-tooltip").highcharts({
series: [{
data: toolTipData[i]
}]
});
}, 10)
return '<div id="hc-tooltip"></div>';
}
},
工具提示:{
是的,
格式化程序:函数(){
var i=this.key;
setTimeout(函数(){
$(“#hc工具提示”).highcharts({
系列:[{
数据:工具提示数据[i]
}]
});
}, 10)
返回“”;
}
},
setTimeout
用于平滑工具提示/图表的创建。因此,我们在这里所做的是创建一个数组(toolTipData
),并用每个点的工具提示图表所使用的数据(data0
和data1
)填充它。我们通过显示工具提示的点的索引访问工具提示数据。要使一个点的工具提示包含另一个图表,您需要做3件事(我确信还有其他方法,但这是基本方法)。我不记得我是从哪里弄来的,因为这不是我的代码,但它是有效的:
1首先设置用于每个点的数据
var data0 = [12, 12];
var data1 = [6, 12];
var toolTipData = [];
toolTipData.push(data0);
toolTipData.push(data1);
2然后构建一种方法,以提取适当的数据点
tooltip: {
useHTML: true,
formatter: function() {
var i = this.key;
setTimeout( function() {
$("#hc-tooltip").highcharts({
series: [{
data: toolTipData[i]
}]
});
}, 10)
}
},
3现在你需要把你刚刚制作的图表放入一个容器中
tooltip: {
useHTML: true,
formatter: function() {
var i = this.key;
setTimeout( function() {
$("#hc-tooltip").highcharts({
series: [{
data: toolTipData[i]
}]
});
}, 10)
return '<div id="hc-tooltip"></div>';
}
},
工具提示:{
是的,
格式化程序:函数(){
var i=this.key;
setTimeout(函数(){
$(“#hc工具提示”).highcharts({
系列:[{
数据:工具提示数据[i]
}]
});
}, 10)
返回“”;
}
},
setTimeout
用于平滑工具提示/图表的创建。因此,我们在这里所做的是创建一个数组(toolTipData
),并用每个点的工具提示图表所使用的数据(data0
和data1
)填充它。我们通过显示工具提示的点的索引访问工具提示数据。要使一个点的工具提示包含另一个图表,您需要做3件事(我确信还有其他方法,但这是基本方法)。我不记得我从哪里得到这个,因为它不是我的代码