0

質問がばかげているかもしれません、すみません。$.each ループを使用して、JSON 内のさまざまなオブジェクトをループ処理しています。それぞれについて、次のコードを使用して Highcharts を使用してグラフを作成します。

var chart = new Highcharts.Chart({
            chart: {
                renderTo: ('chart' + index),
                type: 'line',
                backgroundColor:'rgba(255, 255, 255, 0.0)', // Transparent BG
                width:190,
                height: 80,
                events:{ 
                    click: function(e){
                        drawChart('area',index);
                    }
                }
            },
            plotOptions: {
                line: {
                    marker: { enabled: false }
                }
            },
            xAxis: {
                categories: xAxis,
                labels: { enabled:false },
                lineWidth:0,
                tickWidth: 0,
                lineColor: '#FFFFFF'
            },
            yAxis: {
                title: { text: null }, // Set the text to null to disable the label
                labels: { enabled: false },
                gridLineWidth: 0
            },  
            series: [{
                data: yAxis,
                color: '#FFF'
            }]
        });

ご覧のとおり、plotArea でクリックを有効にする必要があるため、「クリック」イベントを指定しました。クリックは、指定された でグラフを描画する別の関数を呼び出す必要がありますが、機能していません:( drawChart() 関数は次のとおりです。

function drawChart(ctype,index){

    var chartWidth = $("#container").width() - 50;
    var chart1 = new Highcharts.Chart({
        chart: {
            renderTo: (ctype + 'Chart'),
            backgroundColor:'rgba(255, 255, 255, 0.0)', // Transparent BG
            width: chartWidth,
            height:400,
            type: ctype
        },
        plotOptions: {
            line: {
                marker: { enabled: false }
            },
            series: {
                shadow: { color: '#CCC' },
                stickyTracking: false
            }
        },
        xAxis: {
            categories: itemsX[index]
        },  
        series: [{
            data: itemsY[index],
            type: ctype,
            color: '#CCCCCC'
        }]
    });
} // Close drawChart()

誰かが理由を理解するのを手伝ってくれますか? ありがとう!

4

2 に答える 2