I need a way to remove the connecting lines and show only the dots on recharts linechart. Here is a sample code. My reason is because I was originally using a scatter plot to display a large amount of data but it doesnt change much and it ends up looking like the linegraph. I was having some rendering issues being slow with scatter plot that is why I want to switch to a linegraph. Here is the codesandbox. I want all the dots to appear in the sample but the lines to be gone. I cant find a prop that does this maybe I missed it
import "./styles.css";
import React from "react";
import {
LineChart,
Line,
XAxis,
YAxis,
CartesianGrid,
Tooltip,
Legend
} from "recharts";
const data = [
{
name: "Page A",
uv: 4000,
pv: 2400,
amt: 2400
},
{
name: "Page B",
uv: 3000,
pv: 1398,
amt: 2210
},
{
name: "Page C",
uv: 2000,
pv: 9800,
amt: 2290
},
{
name: "Page D",
uv: 2780,
pv: 3908,
amt: 2000
},
{
name: "Page E",
uv: 1890,
pv: 4800,
amt: 2181
},
{
name: "Page F",
uv: 2390,
pv: 3800,
amt: 2500
},
{
name: "Page G",
uv: 3490,
pv: 4300,
amt: 2100
}
];
export default function App() {
return (
<LineChart
width={500}
height={300}
data={data}
margin={{
top: 5,
right: 30,
left: 20,
bottom: 5
}}
>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="name" />
<YAxis />
<Tooltip />
<Legend />
<Line
type="monotone"
dataKey="pv"
stroke="#8884d8"
activeDot={{ r: 8 }}
/>
<Line type="monotone" dataKey="uv" stroke="#82ca9d" />
</LineChart>
);
}
You can remove the line by setting the stroke option to none
Since this will remove both the line and the dots, we'll need to specify a color for the dots:
<Line
type="monotone"
dataKey="pv"
stroke="none"
dot={{ stroke: "#ff0000" }}
activeDot={{ r: 8 }}
/>
Updated CodeSandbox can be found here.
Visual output of the above sandbox: