JSFiddle - React, Tailwind, and code Playground
HTML
<html>
<head>
</head>
<body>
<svg/>
</body>
</html>
CSS
svg {
font-family: Sans-Serif, Arial;
}
.line {
stroke-width: 2;
fill: none;
}
.axis path {
stroke: none;
}
.text {
font-size: 12px;
}
.title-text {
font-size: 12px;
}
JavaScript
var data = [{
name: "USA",
values: [{
date: "2010-October",
price: "100"
},
{
date: "2010-November",
price: "110"
},
{
date: "2010-December",
price: "145"
},
{
date: "2011-January",
price: "241"
},
{
date: "2011-February",
price: "101"
},
{
date: "2011-March",
price: "90"
},
{
date: "2011-April",
price: "120"
},
{
date: "2011-May",
price: "135"
},
{
date: "2011-June",
price: "99"
},
{
date: "2011-July",
price: "105"
},
{
date: "2011-August",
price: "101"
},
{
date: "2011-September",
price: "106"
}
]
},
{
name: "UK",
values: [{
date: "2010-October",
price: "130"
},
{
date: "2010-November",
price: "120"
},
{
date: "2010-December",
price: "115"
},
{
date: "2011-January",
price: "220"
},
{
date: "2011-February",
price: "100"
},
{
date: "2011-March",
price: "140"
},
{
date: "2011-April",
price: "90"
},
{
date: "2011-May",
price: "235"
},
{
date: "2011-June",
price: "160"
},
{
date: "2011-July",
price: "86"
},
{
date: "2011-August",
price: "201"
},
{
date: "2011-September",
price: "140"
}
]
}
];
const margin = 80;
const width = 1000 - 2 * margin;
const height = 550 - 2 * margin;
var duration = 250;
var lineOpacity = "0.25";
var lineOpacityHover = "0.85";
var otherLinesOpacityHover = "0.1";
var lineStroke = "1.5px";
var lineStrokeHover = "2.5px";
var circleOpacity = '0.85';
var...