Highchart(基本折线图)可以有多个值vs x轴?

时间:2014-07-29 07:36:47

标签: jquery plugins highcharts linechart

我想制作一个Highchart(基本折线图),它可以有多个值与x轴。

我正在尝试制作一个带有值(y轴)与日期(x轴)的折线图。问题是可能存在多个值或特定日期。我是Highcharts的新手,但是我经历了API并没有找到一种方法来绘制这样的图形,该图形具有多个值(在y轴上)与x轴图形。我希望日期为“06july”格式。

这是我的代码:

 <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Highcharts Example</title>

        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script type="text/javascript">
$(function () {
        $('#g1').highcharts({
            chart:{
                polar:true,
                backgroundColor:'#E9BE51'


            } ,title: {
                text: 'Cholesterol',
                x: -20 //center
            },

            xAxis: {
               //categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']
               //type: 'date'
            },
            yAxis: {
                title: {
                    text: 'Value(mmol/L)'
                },
                plotLines: [{
                    value: 0,
                    width: 1,
                    color: '#808080'
                }]
            },
            tooltip: {
                valueSuffix: 'in'
            },
            legend: {
                layout: 'vertical',
                align: 'right',
                verticalAlign: 'middle',
                borderWidth: 0
            },
            series: [ {
                name: 'Total',
                data: [{ name:'jan' , y:12} , {name:'jan' , y:8.2}, {name:'mar' , y:10.2} , {name:'apr' , y:14.5}]
            }/*, {
                name: 'LDL',
                data: [['jan',3.9],[ 'feb', 4.2],['mar', 5.7],['apr', 8.5] ]
            }, {
                name: 'HDL',
                data: [['jan',4.9], [ 'feb',4.0], ['mar',4.5],['apr', 6]]
            }*/]
        });
    });





        </script>
    </head>
    <body>
<script src="../../js/highcharts.js"></script>


<div class="container" id="g1" style="width: 50%; height: 50%; margin: ; "></div>



    </body>

1 个答案:

答案 0 :(得分:3)

要为单个x值设置多个y值,只需在制作系列时指定x值。行和日期时间相同。

对于type: 'line',您可以执行此操作(JSFiddle):

data: [[0, 7.0], [0, 10.0], 6.9, 9.5, 14.5, [3, 15.0], 18.2, 21.5, 25.2, 26.5, 23.3, [8, 10.0], 18.3, 13.9, 9.6]

对于type: 'datetime',您可以执行此操作(JSFiddle):

data: [
    ...
    [Date.UTC(1971,  1, 23), 0.77],
    [Date.UTC(1971,  1, 23), 1.5],
    ...
]

并使用dateTimeLabelFormats以特定方式显示日期。见this answer for format explanation。代码可以是这样的(same JSFiddle above):

dateTimeLabelFormats: {
    month: '%d%B'
}