You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C3图表y2轴无法正确显示指定数据问题求助

C3图表y2轴无法正确显示指定数据问题求助

各位好,我是C3图表的新手,最近遇到一个头疼的问题:我明明已经在代码里开启了y2轴,并且把data14(对应“Delovanje ventilatorja”,也就是风扇运行状态系列)指定到y2轴,但实际渲染出来的图表里,这个系列的数值好像还是跟着y轴(温度轴)走,完全没关联到我设置的y2轴。我翻了不少资料,甚至找ChatGPT帮忙排查,都没解决问题,麻烦大家帮我看看代码里哪里出错了?

先上我的图表截图:
My Chart

我的完整代码如下(里面有一些斯洛文尼亚语的变量名,提前跟大家说声抱歉,不影响逻辑理解):

function parseData(createGraph) {
    Papa.parse("log.csv", {
        download: true,
        complete: function(results) {
            createGraph(results.data);
        },
        error: function(err) {
            console.error("Napaka pri nalaganju podatkov:", err);
        }
    });
}
function createGraph(data) {
    //var cas = [];
    var dateTimeLabels = []; 
    var data2 = ["Temperatura CPU"];
    var data10 = ["Temperatura okolica"];
    var data14 = ["Delovanje ventilatorja"];
          
    data = data.filter(row => row.length > 1);
    var totalRows = data.length;
    
    console.log("Skupno število vrstic po filtriranju:", totalRows);
        
    var startIndex = Math.max(0, totalRows -288 ); 

    for (var i = startIndex; i < totalRows; i++) {
        console.log("Vrsta " + i + ": ", data[i]);
        
        var date = data[i][0]; 
        var time = data[i][1];   
         if (time && time.trim()) {
            time = time.trim();
        
                    var formattedDateTime = `${date.split('-').reverse().join('-')}/${time.substring(0, 5)}`;
            dateTimeLabels.push(formattedDateTime); 
                } else {
            console.warn("čas ni definiran ali prazen za vrstico:", data[i]);
        }
        
       
        data2.push(data[i][2] !== undefined ? data[i][2] : null); 
        data10.push(data[i][3] !== undefined ? data[i][3] : null);
        data14.push(data[i][4] !== undefined ? data[i][4] : null); 
       
    }
    
    
    console.log("Oznake za datum in čas:", dateTimeLabels);
    console.log("Temperatura CPU:", data2);
    console.log("Temperatura okolica:", data10);
    console.log("Delovanje ventilatorja (data14):", data14);
    
    
    var chart = c3.generate({
        bindto: '#chart',
        size: {
            height: 400, 
            width: window.innerWidth - 100   
        },
        data: {
            x: 'x',
            columns: [
                ['x'].concat(dateTimeLabels),
                data2,
                data10,
                data14              
            ],
            axes: {
                data2: 'y',
                data10: 'y',
                data14: 'y2'
            },
        
            types:{
                data2: 'line',
                data10: 'line',
                data14: 'line'
            }
        },
       
        axis: {
            x: {
                type: 'category',
                tick: {
                rotate: 40, 
                multiline: false,
                culling: {max: 12} 
                    
            },
            label: 'Čas'
        },
        y: {
               
            label: 'Temperatura (°C)',
            tick: {
                    format: d3.format(".1f") 
                }
               
            
        },
        y2: { 
                show: true,  
                label: 'Delovanje ventilatorja', 
                tick: {
                    format: d3.format(".0f"), 
                    values: [0, 10]
                }
              
            }
        },
        
        zoom: {
            enabled: true
        },
        grid: {
            x: { show: true },
            y: { show: true },
            y2: { show: true }
        }
    
    });
    
}


parseData(createGraph);

我已经通过控制台确认data14的数值是正常读取的,但就是无法和y2轴绑定,实在找不到问题点了,恳请各位大佬帮忙看看,谢谢!


备注:内容来源于stack exchange,提问作者29587

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 18:12:55