Javascript 在highchart的工具提示中创建图形

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

在highchart中有一些数据显示为列。数据以列的形式显示每月的注册情况

以下是JSFIDLE的链接: 在图形的每个工具提示中,您希望显示另一个柱状图

$(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件事(我确信还有其他方法,但这是基本方法)。我不记得我从哪里得到这个,因为它不是我的代码