Javascript 在d3中设置自定义x轴的对齐问题;如何隐藏最后一个标签 在此处查看: 自定义定义的d3.js x轴值存在问题

Javascript 在d3中设置自定义x轴的对齐问题;如何隐藏最后一个标签 在此处查看: 自定义定义的d3.js x轴值存在问题,javascript,jquery,d3.js,charts,Javascript,Jquery,D3.js,Charts,大家好-- 正如您从上面的图表(实际上包含五个较小的区域图表)中所看到的,我需要x轴标签是非线性的,并且在每个图表的开头和结尾重复相同的年份span2011和2015。我很难让它们在x轴上正确对齐,同时缩小到不同的屏幕尺寸。下面是我定义这些值的一个片段: svg.append("path") .attr("class", "line") .attr("d", line) .attr("stroke-w

大家好--

正如您从上面的图表(实际上包含五个较小的区域图表)中所看到的,我需要x轴标签是非线性的,并且在每个图表的开头和结尾重复相同的年份span
2011
2015
。我很难让它们在x轴上正确对齐,同时缩小到不同的屏幕尺寸。下面是我定义这些值的一个片段:

            svg.append("path")
            .attr("class", "line")
            .attr("d", line)
            .attr("stroke-width", 10)
            .attr("stroke", "#ccc");

        var yScale = d3.scaleLinear()
            .domain([0, 600])
            .range([height, 0]);
        var yAxis = svg.append("g")
            .attr("class", "y axis1")
            .call(d3.axisLeft(yScale).ticks(6));

        var xScale1 = d3.scaleLinear()
            .range([0, width-margin.left]);
        var xAxis1 = svg.append("g")
            .attr("class", "x axis1")
            .attr("transform", "translate(0," + height + ")")
            .call(d3.axisBottom(xScale1).ticks(5).tickFormat(2011));

        var xScale2 = d3.scaleLinear()
            .range([margin.left, width]);
        var xAxis2 = svg.append("g")
            .attr("class", "x axis2")
            .attr("transform", "translate(0," + height + ")")
            .call(d3.axisBottom(xScale2).ticks(5).tickFormat(2015));
另外,你会注意到,我用了一个简单的
break语句将图表彼此分开,但问题是我不能添加
break
中断不会在最后渲染。下面的片段:

        function getData(jsonData){

            var data = [];
            var twoData = [[], [], [], [], []];
            for(var i = 0 ; i < jsonData.length ; i ++){
                switch(jsonData[i].Month){

            case "Jan":
                        twoData[0].push(jsonData[i].Sales);
                        break;
                    case "Feb":
                        twoData[1].push(jsonData[i].Sales);
                        break;
                    case "Mar":
                        twoData[2].push(jsonData[i].Sales);
                        break;
                    case "Apr":
                        twoData[3].push(jsonData[i].Sales);
                        break;
                    case "May":
                        twoData[4].push(jsonData[i].Sales);
                        break;
                }
函数getData(jsonData){ var数据=[]; 变量twoData=[]、[]、[]、[]、[]、[]、[]; 对于(var i=0;i
FWIW:我解决了这个问题。请参阅和。FWIW:我解决了这个问题。请参阅和。