JSFiddle - React, Tailwind, and code Playground

by Blake Dietz

JavaScript

var data   = [1,2,3,4];
        var width  = 500;
        var height = 250;
        var xScale = d3.scale.ordinal()
                                .domain(data)
                            .rangeBands([5,width-5]);

        var svg = d3.select("body")
                    .append("svg")
                        .attr("width", width)
                        .attr("height",height);

        function drawXAxis()
        {
            svg.selectAll("line")
                .data(data)
                .enter()
                .append("line")
                    .attr(
                        {
                            "x1": function(d,i){return xScale(d);},
                            "x2": function(d,i){return xScale(d);},
                            "y1": function(d,i){return 10},
                            "y2": function(d,i){return (i%1== 0)?5:10 },
                            "fill" :"red",
                            "stroke":"red",
                            "stroke-width":"3"
                        });

            svg.selectAll("line")
                .data(data)
                .enter()
                .append("text")
                    .attr(
                        {
                            "x1": function(d,i){return xScale(d);},
                            "x2": function(d,i){return xScale(d);},
                            "y1": function(d,i){return 10},
                            "y2": function(d,i){return (i%1== 0)?5:10 },
                            "fill" :"red",
                            "stroke":"red",
                            "stroke-width":"3"
                        });
            
            svg.selectAll("text")
                .data([1,3])
                .enter()
                .append("text")
                    .attr(
                        {
                            
                            "x": function(d){return xScale(d)},
                            "y": 20,
                            "text-anchor":"middle"
 ...