JSFiddle - React, Tailwind, and code Playground
CSS
.axis path,
.axis line {
fill: none;
stroke: #999;
shape-rendering: crispEdges;
}
text {
font-family: sans-serif;
font-size: 10px;
stroke: #ccc;
}
.line {stroke: #ff8807; stroke-width: 2;fill: transparent;}
.line1 {stroke:#ff3401; stroke-width: 2;fill: transparent;}
.container {background: #222;}
.area {
fill: #000;
stroke-width: 0;
opacity: 0.5
}
.area1 {
fill: #000;
opacity: 0.2;
stroke-width: 0;
}
JavaScript
var lineData = [ { "x": 0, "y": 5}, { "x": 20, "y": 20},
{ "x": 40, "y": 10}, { "x": 60, "y": 40},
{ "x": 80, "y": 5}, { "x": 200, "y": 30}];
var p = [ { "x": 1, "y": 0}, { "x": 20, "y": 20},
{ "x": 40, "y": 10},
{ "x": 60, "y": 40},
{ "x": 80, "y": 5},
{ "x": 90, "y": 50},
{ "x": 96, "y": 10},
{ "x": 102, "y": 19},
{ "x": 109, "y": 13},
{ "x": 119, "y": 19},
{ "x": 132, "y": 30},
{ "x": 143, "y": 41},
{ "x": 149, "y": 29},
{ "x": 200, "y": 80}
]
//Do some basic setup - set margins and widths for the entire graph
var margin = {top: 20, right:20, bottom: 30, left: 30},
width = 1200 - margin.left - margin.right,
height = 700 - margin.top - margin.bottom;
//Define Scale
var x = d3.scale.linear()
.range([0, width]);
var y = d3.scale.linear()
.range([height, 0]);
//Define an x Axis
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom");
//Define an y axis
var yAxis = d3.svg.axis()
.scale(y)
.orient("left").ticks(4);
var xScale = d3.scale.ordinal()
.domain(d3.range(10))
.rangeRoundBands([0, width],0);
var yScale = d3.scale.ordinal()
.domain(d3.range(4))
.rangeRoundBands([0, height],0);
var svg = d3.select("body").append("svg")
.attr("class",'container')
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
...