javascript - Highcharts:获取 x 轴显示图例

标签 javascript jquery highcharts

首先这是我的代码

http://jsfiddle.net/woon123/5t2gpyx7/

$(function () {
    var chart = new Highcharts.Chart({
        chart: {
            type: 'column',
            renderTo: 'venue_chart',
        },
        credits: {
            enabled: false
        },
        title: {
            text: 'Popularity of Venues'
        },
        subtitle: {
            text: 'Redemption Count'
        },
        yAxis: {
            allowDecimals: false,
            min: 0,
            title: {
                text: 'Number of Users'
            }
        },
        xAxis: {
            type: 'category'
        },
        legend: {
            layout: 'vertical',
            align: 'right',
            verticalAlign: 'top',
            y: 30
        },
        series: [{
            name: "Chicken Up @ Jurong East",
            data: [{
                name: "Chicken Up @ Jurong East",
                y: 30,
                drilldown: "Chicken Up @ Jurong East"
            }]
        }, {
            name: "Chicken Up @ Tanjong Pagar",
            data: [{
                name: "Chicken Up @ Tanjong Pagar",
                y: 50,
                drilldown: "Chicken Up @ Tanjong Pagar"
            }]
        }, {
            name: "Chicken Up @ Tampines",
            data: [{
                name: "Chicken Up @ Tampines",
                y: 60,
                drilldown: "Chicken Up @ Tampines"
            }]
        }, ],
        drilldown: {
            series: [{
                name: "Redemption Count",
                id: "Chicken Up @ Jurong East",
                data: [
                    [
                        "Yangpa Bomb Introductory Promo", 5],
                    [
                        "1 For 1 Chicken Up Wings and Korean Bingsu", 4],
                    [
                        "Soju Cocktails at $17.00", 1],
                    [
                        "12345678", 10],
                    [
                        "50% OFF Ganjang, Yanguyum Wings and Soju Cocktails!", 10], ]
            }, {
                name: "Redemption Count",
                id: "Chicken Up @ Tanjong Pagar",
                data: [
                    [
                        "Yangpa Bomb Introductory Promo", 10],
                    [
                        "1 For 1 Chicken Up Wings and Korean Bingsu", 10],
                    [
                        "Soju Cocktails at $17.00", 10],
                    [
                        "12345678", 10],
                    [
                        "Early Bird 20% Off Bill", 3],
                    [
                        "50% OFF Ganjang, Yanguyum Wings and Soju Cocktails!", 17], ]
            }, {
                name: "Redemption Count",
                id: "Chicken Up @ Tampines",
                data: [
                    [
                        "Yangpa Bomb Introductory Promo", 10],
                    [
                        "1 For 1 Chicken Up Wings and Korean Bingsu", 10],
                    [
                        "Soju Cocktails at $17.00", 15],
                    [
                        "12345678", 15],
                    [
                        "50% OFF Ganjang, Yanguyum Wings and Soju Cocktails!", 10], ]
            }, ]
        }
    });
});

我的问题是,虽然图例显示正确,但在 x 轴中使用 type:category 时,它只显示姓氏 Chicken Up @ Tampines。

我希望 x 轴显示所有三个 field ,而不仅仅是最后一个 field ,并且图例保持原样。

另一个问题是在我深入研究之后。

在这种情况下,我希望图例显示 x 轴,以便我可以打开/关闭它们。

我尝试设置 x 轴来显示类别['venue1'、'venue2'、'venue3'],但在本例中我的图例仅显示系列 1。

我想要一些关于如何使图例和 x 轴相同的建议。

谢谢!

最佳答案

我给你两个 fiddle ,这些可以作为线索!

第一:fiddle

$(function(){
$('#container').highcharts({
    chart: {
        type: 'column'
    },
    title: {
        text: 'Staten Island Violation Distribution'
    },
    subtitle: {
        text: 'Source: NYC Open DataSet</a>'
    },
    xAxis: {
        type: 'category',
        labels: {
            rotation: -45,
            style: {
                fontSize: '13px',
                fontFamily: 'Verdana, sans-serif'
            }
        }
    },
    data: {
        csv: document.getElementById('csv').innerHTML
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Count'
        }
    },
    legend: {
        enabled: true
    },
    tooltip: {
        pointFormat: 'Count: <b>{point.y}</b>'
    },
    plotOptions: {
        column: {
            grouping: false,
            dataLabels: {
                enabled: true,
                rotation: -90,
                color: '#FFFFFF',
                align: 'right',
                format: '{point.y}', // one decimal
                y: 10, // 10 pixels down from the top
                style: {
                    fontSize: '8px',
                    fontFamily: 'Verdana, sans-serif'
                }
            }    
        }        
    },
    series: [ { name: "Description" },
              { name: "Description1" },
              { name: "Description2" },
              { name: "Description3" },
              { name: "Description4" },
              { name: "Description5" } ]
});
});

第二个:fiddle

$(function () {

// Create the chart
$('#container').highcharts({
    chart: {
        type: 'column'
    },
    title: {
        text: 'Basic drilldown'
    },
    xAxis: {
        type: 'category'
    },

    legend: {
        enabled: false
    },

    plotOptions: {
        series: {
            borderWidth: 0,
            dataLabels: {
                enabled: true
            }
        }
    },

    series: [{
        name: 'Things',
        colorByPoint: true,
        data: [{
            name: 'Animals',
            y: 5,
            drilldown: 'animals'
        }, {
            name: 'Fruits',
            y: 2,
            drilldown: 'fruits'
        }, {
            name: 'Cars',
            y: 4,
            drilldown: 'cars'
        }]
    }],
    drilldown: {
        series: [{
            id: 'animals',
            data: [
                ['Cats', 4],
                ['Dogs', 2],
                ['Cows', 1],
                ['Sheep', 2],
                ['Pigs', 1]
            ]
        }, {
            id: 'fruits',
            data: [
                ['Apples', 4],
                ['Oranges', 2]
            ]
        }, {
            id: 'cars',
            data: [
                ['Toyota', 4],
                ['Opel', 2],
                ['Volkswagen', 2]
            ]
        }]
    }
});
});

编码愉快!

关于javascript - Highcharts:获取 x 轴显示图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33194681/

相关文章:

javascript - 正则表达式用javascript在跨度中包装第一个整数

带有警报弹出窗口的 jQuery 验证插件 - 仍然出现 - 用户无法在选择框中选择正确的值

jquery - Highstock 默认工具提示格式符号

javascript - "Object doesn' t 支持此属性或方法”错误 - JQuery

javascript - 如何打印带有 Angular 6分页的表格中的记录。(所有记录不仅是当前页)

javascript - 如何使用表单创建弹出窗口?

javascript - 使用 HTML5 自定义数据属性将数据从 <div 传递到 javascript

javascript - 根据前 3 列对 JSON 数据进行分组,并对 HTML/JS 中第 4 列的编号进行求和

javascript - 从模板 angularJs 中的 Controller 填充 id 属性的值

javascript - Highcharts : How to fix labels to the top when xAxis rotation is 90°?