aboutsummaryrefslogtreecommitdiff
path: root/modern/src/reports/Graph.js
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2020-12-13 10:13:57 -0800
committerGitHub <noreply@github.com>2020-12-13 10:13:57 -0800
commitfca5aa3cdb5d335dca14115722cacae1b724fe4f (patch)
tree542416ca2e13ff811b818d2343e2b487fda97b86 /modern/src/reports/Graph.js
parenta4c2f0477dcda2662a3fd268f77a7549dead6e67 (diff)
parentf8bb2fb5dfd801b7c49a3a3b66042e94dc7640dc (diff)
downloadtrackermap-web-fca5aa3cdb5d335dca14115722cacae1b724fe4f.tar.gz
trackermap-web-fca5aa3cdb5d335dca14115722cacae1b724fe4f.tar.bz2
trackermap-web-fca5aa3cdb5d335dca14115722cacae1b724fe4f.zip
Merge pull request #797 from mail2bishnoi/chart-report
Implementing chart report initial structure
Diffstat (limited to 'modern/src/reports/Graph.js')
-rw-r--r--modern/src/reports/Graph.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/modern/src/reports/Graph.js b/modern/src/reports/Graph.js
new file mode 100644
index 00000000..af54e10e
--- /dev/null
+++ b/modern/src/reports/Graph.js
@@ -0,0 +1,35 @@
+import React from 'react';
+import { Box, Paper } from '@material-ui/core';
+import {LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';
+
+const CustomizedAxisTick = ({ x, y, payload }) =>{
+ const parts = payload.value.split(' ');
+ return (
+ <g transform={`translate(${x},${y})`}>
+ <text x={0} y={0} dy={16} textAnchor="end" fill="#666" transform="rotate(-35)">{parts[0]}</text>
+ <text x={0} y={16} dy={16} textAnchor="end" fill="#666" transform="rotate(-35)">{parts[1]}</text>
+ </g>
+ );
+}
+
+const Graph = ({ type, items }) => {
+
+ return (
+ <Paper>
+ <Box height={400}>
+ <ResponsiveContainer>
+ <LineChart data={items}>
+ <XAxis dataKey="fixTime" tick={<CustomizedAxisTick/>} height={60} />
+ <YAxis />
+ <CartesianGrid strokeDasharray="3 3" />
+ <Tooltip />
+ <Legend />
+ <Line type="natural" dataKey={type} />
+ </LineChart>
+ </ResponsiveContainer>
+ </Box>
+ </Paper>
+ );
+}
+
+export default Graph;