.green {
        background-color: lightgreen;
 }
-@media only screen and (min-width: 62rem) {
-       .tables {
-               display: flex;
-               flex-direction: row;
-               gap: 1rem;
-               align-items: start;
-               justify-content: center;
-       }
+#diag {
+       width: 100%;
+       height: 40rem;
 }
 @media only screen and (max-width: 40rem) {
        th {
                font-weight: bold;
                content: attr(data-cell) ": ";
        }
-}
\ No newline at end of file
+}
+@media only screen and (min-width: 62rem) {
+       .tables {
+               display: flex;
+               flex-direction: row;
+               gap: 1rem;
+               align-items: start;
+               justify-content: center;
+       }
+}
 
                <meta http-equiv="content-type" content="text/html; charset=UTF-8">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                <link rel="stylesheet" type="text/css" href="viewer.css">
-               <script type="text/javascript" src="viewer.js"></script>
        </head>
        <body>
+               <script type="text/javascript" src="viewer.js"></script>
+               <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
                <main>
                        <div class="fileinput">
                                <label>Zeitkonto-Datei: </label>
                                        </table>
                                </div>
                        </div>
+                       <div id="diag"></div>
                </main>
        </body>
 </html>
\ No newline at end of file
 
        tableElement.append(trElement)
 }
 
+function loadChart(chartData) {
+       google.charts.load('current',{packages:['corechart']});
+       google.charts.setOnLoadCallback(() => {
+               const data = google.visualization.arrayToDataTable(chartData);
+
+               const options = {
+                       title: 'Verlauf der Salden',
+                       hAxis: {title: 'Datum'},
+                       vAxis: {title: 'Saldo'},
+                       legend: 'none'
+               };
+
+               const diag = document.getElementById('diag');
+               const chart = new google.visualization.LineChart(diag);
+               chart.draw(data, options);
+       });
+}
+
+function convertSaldoToHour(saldo) {
+       const numbers = saldo.split(":");
+       let hours = Number(numbers[0]);
+       hours += Number(numbers[1]) / 60;
+
+       return hours;
+}
+
 function loadFile() {
        const fileinput = document.getElementById("filepath");
        const element = document.getElementById("content");
                appendHeader(tableElement)
 
                const count = rootNode.childElementCount;
+               const chartData = [];
+               chartData.push(["datum", "saldo"]);
                for (let i = 0; i < count; i++) {
+                       chartData.push([rootNode.children[i].getAttribute("datum"),
+                               convertSaldoToHour(rootNode.children[i].getAttribute("saldo"))]);
                        appendRow(rootNode.children[i], tableElement);
                }
-
                element.append(tableElement);
+               loadChart(chartData);
        };
        filereader.readAsText(fileinput.files[0]);
 }
\ No newline at end of file