diff --git a/frontend/src/chartComponent.js b/frontend/src/chartComponent.js
index 5d11da88974c766a387a2fa0dea50d87e6bbb6dd..7495e32166a96dd5a8a8c7a07b006e4b2537f91b 100644
--- a/frontend/src/chartComponent.js
+++ b/frontend/src/chartComponent.js
@@ -1,5 +1,5 @@
 import * as React from "react";
-import { useState } from 'react';
+import { useState, useEffect} from 'react';
 import {
   Chart as ChartJS,
   CategoryScale,
@@ -11,7 +11,6 @@ import {
   Legend,
 } from 'chart.js';
 import { Line } from 'react-chartjs-2';
-import { faker } from "@faker-js/faker";
 
 ChartJS.register(
   CategoryScale,
@@ -36,35 +35,59 @@ export const options = {
   },
 };
 
-const labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July'];
+const ChartComponent = (props) => {
 
-export const data = {
-  labels,
-  datasets: [
-    {
-      label: 'Power Usage',
-      data: labels.map(() => faker.datatype.number({ min: -1000, max: 1000 })),
-      borderColor: 'red',
-      backgroundColor: 'red',
-    },
-    {
-      label: 'Water Usage',
-      data: labels.map(() => faker.datatype.number({ min: -1000, max: 1000 })),
-      borderColor: 'blue',
-      backgroundColor: 'blue',
-    },
-  ],
-};
+  const [chartData, setChartData] = useState(null);
 
-const ChartComponent = (props) => {
+  const fetchData = async () => {
+    try {
+      const response = await fetch('http://127.0.0.1:5000/api/costData');
+
+      if (!response.ok) {
+        throw new Error('Network response was not ok');
+      }
+      
+      const chartData = await response.json();
+      setChartData(chartData);
+    } catch (error) {
+      console.error('There was a problem with the fetch operation:', error);
+    }
+  };
 
+  useEffect(() => {
+    fetchData();
+  }, []);
 
+  const data = {
+    labels: chartData ? chartData.map(data => data[0]) : [],
+    datasets: [
+      {
+        label: 'Power Usage (MW)',
+        data: chartData ? chartData.map(data => (data[1] / 1000)) : [],
+        borderColor: 'red',
+        backgroundColor: 'red',
+      },
+      {
+        label: 'Cost ($)',
+        data: chartData ? chartData.map(data => data[2]) : [],
+        borderColor: 'green',
+        backgroundColor: 'green',
+      },
+      {
+        label: 'Water Usage',
+        data: chartData ? chartData.map(data => data[3]) : [],
+        borderColor: 'blue',
+        backgroundColor: 'blue',
+      },
+    ],
+  };
 
-    return(
-        <div id="chart">
-            <Line options={options} data={data}  />
-        </div>
-    );
-}
+  return (
+    <div id="chart">
+      {chartData && <Line options={options} data={data} />}
+    </div>
+  );
+};
 
 export default ChartComponent;
+