From 4900d71722472ffcfbc57d116aca4ba96f01489c Mon Sep 17 00:00:00 2001 From: Tobias Peper Date: Wed, 26 Mar 2025 22:02:20 +0100 Subject: [PATCH] =?UTF-8?q?Funktionierenden=20Chart=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 144 ++++++++++++------------------------- package.json | 8 ++- src/app/aggregate.ts | 8 +++ src/app/app.component.html | 7 +- src/app/app.component.ts | 78 ++++++++++++++++++-- src/app/app.config.ts | 3 - 6 files changed, 134 insertions(+), 114 deletions(-) create mode 100644 src/app/aggregate.ts diff --git a/package-lock.json b/package-lock.json index fc4cc42..bf1a820 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,9 @@ "@ng-bootstrap/ng-bootstrap": "^17.0.1", "@popperjs/core": "^2.11.8", "bootstrap": "^5.3.2", - "ng2-charts": "7.0.0", + "chart.js": "~4.0.0", + "chartjs-adapter-date-fns": "^3.0.0", + "date-fns": "^4.1.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.14.10" @@ -521,24 +523,6 @@ "@esbuild/win32-x64": "0.23.0" } }, - "node_modules/@angular/cdk": { - "version": "19.2.6", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.2.6.tgz", - "integrity": "sha512-AneN/NeAYU4+AwzicTwtYE9CkMcWA0cAJ41SNfSyoHaaHNXSkryzwSmTYS3FO+taqd7OGnBePeWJbW2uJXcvfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "tslib": "^2.3.0" - }, - "optionalDependencies": { - "parse5": "^7.1.2" - }, - "peerDependencies": { - "@angular/common": "^19.0.0 || ^20.0.0", - "@angular/core": "^19.0.0 || ^20.0.0", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, "node_modules/@angular/cli": { "version": "18.2.15", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.15.tgz", @@ -3199,13 +3183,6 @@ "tslib": "2" } }, - "node_modules/@kurkle/color": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", - "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", - "license": "MIT", - "peer": true - }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", @@ -5189,16 +5166,22 @@ "dev": true }, "node_modules/chart.js": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.8.tgz", - "integrity": "sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.0.1.tgz", + "integrity": "sha512-5/8/9eBivwBZK81mKvmIwTb2Pmw4D/5h1RK9fBWZLLZ8mCJ+kfYNmV9rMrGoa5Hgy2/wVDBMLSUDudul2/9ihA==", "license": "MIT", - "peer": true, - "dependencies": { - "@kurkle/color": "^0.3.0" - }, "engines": { - "pnpm": ">=8" + "pnpm": "^7.0.0" + } + }, + "node_modules/chartjs-adapter-date-fns": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chartjs-adapter-date-fns/-/chartjs-adapter-date-fns-3.0.0.tgz", + "integrity": "sha512-Rs3iEB3Q5pJ973J93OBTpnP7qoGwvq3nUnoMdtxO+9aoJof7UFcRbWcIDteXuYd1fgAvct/32T9qaLyLuZVwCg==", + "license": "MIT", + "peerDependencies": { + "chart.js": ">=2.8.0", + "date-fns": ">=2.0.0" } }, "node_modules/chokidar": { @@ -5848,6 +5831,16 @@ "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", "dev": true }, + "node_modules/date-fns": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, "node_modules/date-format": { "version": "4.0.14", "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", @@ -6234,7 +6227,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.12" }, @@ -8519,12 +8512,6 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "license": "MIT" - }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -9255,24 +9242,6 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "node_modules/ng2-charts": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-7.0.0.tgz", - "integrity": "sha512-HofyPPkz7yOX6Dr9JfV/SDddzmmqCFYCKbn71jeDiyWPRjrj99yTBCyqYtjzzNrnlTfWwbdvynYZ4GAhu/lbgQ==", - "license": "MIT", - "dependencies": { - "lodash-es": "^4.17.15", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/cdk": ">=18.0.0", - "@angular/common": ">=18.0.0", - "@angular/core": ">=18.0.0", - "@angular/platform-browser": ">=18.0.0", - "chart.js": "^3.4.0 || ^4.0.0", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, "node_modules/nice-napi": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", @@ -9870,7 +9839,7 @@ "version": "7.2.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", - "devOptional": true, + "dev": true, "dependencies": { "entities": "^4.5.0" }, @@ -13414,16 +13383,6 @@ } } }, - "@angular/cdk": { - "version": "19.2.6", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.2.6.tgz", - "integrity": "sha512-AneN/NeAYU4+AwzicTwtYE9CkMcWA0cAJ41SNfSyoHaaHNXSkryzwSmTYS3FO+taqd7OGnBePeWJbW2uJXcvfA==", - "peer": true, - "requires": { - "parse5": "^7.1.2", - "tslib": "^2.3.0" - } - }, "@angular/cli": { "version": "18.2.15", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.15.tgz", @@ -15131,12 +15090,6 @@ "dev": true, "requires": {} }, - "@kurkle/color": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", - "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", - "peer": true - }, "@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", @@ -16584,13 +16537,15 @@ "dev": true }, "chart.js": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.8.tgz", - "integrity": "sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA==", - "peer": true, - "requires": { - "@kurkle/color": "^0.3.0" - } + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.0.1.tgz", + "integrity": "sha512-5/8/9eBivwBZK81mKvmIwTb2Pmw4D/5h1RK9fBWZLLZ8mCJ+kfYNmV9rMrGoa5Hgy2/wVDBMLSUDudul2/9ihA==" + }, + "chartjs-adapter-date-fns": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chartjs-adapter-date-fns/-/chartjs-adapter-date-fns-3.0.0.tgz", + "integrity": "sha512-Rs3iEB3Q5pJ973J93OBTpnP7qoGwvq3nUnoMdtxO+9aoJof7UFcRbWcIDteXuYd1fgAvct/32T9qaLyLuZVwCg==", + "requires": {} }, "chokidar": { "version": "3.6.0", @@ -17066,6 +17021,11 @@ "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", "dev": true }, + "date-fns": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==" + }, "date-format": { "version": "4.0.14", "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", @@ -17344,7 +17304,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "devOptional": true + "dev": true }, "env-paths": { "version": "2.2.1", @@ -19012,11 +18972,6 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -19541,15 +19496,6 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "ng2-charts": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-7.0.0.tgz", - "integrity": "sha512-HofyPPkz7yOX6Dr9JfV/SDddzmmqCFYCKbn71jeDiyWPRjrj99yTBCyqYtjzzNrnlTfWwbdvynYZ4GAhu/lbgQ==", - "requires": { - "lodash-es": "^4.17.15", - "tslib": "^2.3.0" - } - }, "nice-napi": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", @@ -19989,7 +19935,7 @@ "version": "7.2.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", - "devOptional": true, + "dev": true, "requires": { "entities": "^4.5.0" } diff --git a/package.json b/package.json index 3f05786..e9644bb 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,12 @@ "@ng-bootstrap/ng-bootstrap": "^17.0.1", "@popperjs/core": "^2.11.8", "bootstrap": "^5.3.2", + "chart.js": "~4.0.0", + "chartjs-adapter-date-fns": "^3.0.0", + "date-fns": "^4.1.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", - "zone.js": "~0.14.10", - "ng2-charts": "7.0.0" + "zone.js": "~0.14.10" }, "devDependencies": { "@angular-devkit/build-angular": "^18.2.15", @@ -41,4 +43,4 @@ "karma-jasmine-html-reporter": "~2.1.0", "typescript": "~5.5.2" } -} \ No newline at end of file +} diff --git a/src/app/aggregate.ts b/src/app/aggregate.ts new file mode 100644 index 0000000..3432ec7 --- /dev/null +++ b/src/app/aggregate.ts @@ -0,0 +1,8 @@ +export interface Aggregate { + houseId: number, + timestampStart: number, + timestampEnd: number, + producedEnergy: number, + injectedEnergy: number, + obtainedEnergy: number, +} diff --git a/src/app/app.component.html b/src/app/app.component.html index 10ef5b7..00ded8f 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,8 +1,7 @@ -
- -
-
+
+ +

diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 5504d6d..31ae2c1 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,19 +1,84 @@ -import { Component } from '@angular/core'; +import { Component, OnInit } from '@angular/core'; import { RouterOutlet } from '@angular/router'; import { TestComponent } from "./test/test.component"; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { BaseChartDirective } from 'ng2-charts'; -import { ChartConfiguration, ChartData, ChartEvent } from 'chart.js'; +import { Chart, ChartConfiguration, ChartData, ChartDataset, ChartEvent } from 'chart.js/auto'; +import 'chartjs-adapter-date-fns'; +import { de } from 'date-fns/locale'; +import { Aggregate } from './aggregate'; @Component({ selector: 'app-root', standalone: true, - imports: [RouterOutlet, TestComponent, NgbModule, BaseChartDirective], + imports: [RouterOutlet, TestComponent, NgbModule,], templateUrl: './app.component.html', styleUrl: './app.component.css' }) -export class AppComponent { +export class AppComponent implements OnInit { + ngOnInit(): void { + const data2 = [ + { year: 2010, count: 10 }, + { year: 2011, count: 20 }, + { year: 2012, count: 15 }, + { year: 2013, count: 25 }, + { year: 2014, count: 22 }, + { year: 2015, count: 30 }, + { year: 2016, count: 28 }, + ]; + const data = this.vzData; + this.chart = new Chart('canvas', { + type: 'line', + options: { + scales: { + x: { + type: 'time', + time: { + tooltipFormat: 'HH:mm', + displayFormats: { + hour: 'HH:mm', + minute: 'HH:mm' + } + }, + title: { + display: true, + text: 'Zeitpunkt' + }, + adapters: { + date: { + locale: de + } + } + }, + y: { + //stacked: true, + } + } + }, + data: { + labels: data.map(row => row.timestampStart), + datasets: [ + { + label: 'Bezug', + pointRadius: 0, + data: data.map(row => row.obtainedEnergy/60000) + }, { + label: 'Erzeugt', + pointRadius: 0, + data: data.map(row => row.producedEnergy/60000) + }, { + label: 'Eingespeist', + pointRadius: 0, + data: data.map(row => row.injectedEnergy/60000) + } + ] + } + }) + } title = 'test1'; + chart: Chart | null = null; + + vzData: Aggregate[] = [{"houseId":1,"timestampStart":1743018240000,"timestampEnd":1743018300000,"producedEnergy":10000000,"obtainedEnergy":35596864,"injectedEnergy":20000000},{"houseId":1,"timestampStart":1743018180000,"timestampEnd":1743018240000,"producedEnergy":0,"obtainedEnergy":28644022,"injectedEnergy":0},{"houseId":1,"timestampStart":1743018120000,"timestampEnd":1743018180000,"producedEnergy":0,"obtainedEnergy":30955710,"injectedEnergy":0},{"houseId":1,"timestampStart":1743018060000,"timestampEnd":1743018120000,"producedEnergy":0,"obtainedEnergy":33388764,"injectedEnergy":0},{"houseId":1,"timestampStart":1743018000000,"timestampEnd":1743018060000,"producedEnergy":0,"obtainedEnergy":32970299,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017940000,"timestampEnd":1743018000000,"producedEnergy":0,"obtainedEnergy":34364178,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017880000,"timestampEnd":1743017940000,"producedEnergy":0,"obtainedEnergy":32057195,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017820000,"timestampEnd":1743017880000,"producedEnergy":0,"obtainedEnergy":26401739,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017760000,"timestampEnd":1743017820000,"producedEnergy":0,"obtainedEnergy":34528087,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017700000,"timestampEnd":1743017760000,"producedEnergy":0,"obtainedEnergy":36059839,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017640000,"timestampEnd":1743017700000,"producedEnergy":0,"obtainedEnergy":37514851,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017580000,"timestampEnd":1743017640000,"producedEnergy":0,"obtainedEnergy":39723830,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017520000,"timestampEnd":1743017580000,"producedEnergy":0,"obtainedEnergy":42957525,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017460000,"timestampEnd":1743017520000,"producedEnergy":0,"obtainedEnergy":40778517,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017400000,"timestampEnd":1743017460000,"producedEnergy":0,"obtainedEnergy":43489184,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017340000,"timestampEnd":1743017400000,"producedEnergy":0,"obtainedEnergy":41086765,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017280000,"timestampEnd":1743017340000,"producedEnergy":0,"obtainedEnergy":35299718,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017220000,"timestampEnd":1743017280000,"producedEnergy":0,"obtainedEnergy":38560096,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017160000,"timestampEnd":1743017220000,"producedEnergy":0,"obtainedEnergy":40057496,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017100000,"timestampEnd":1743017160000,"producedEnergy":0,"obtainedEnergy":40421953,"injectedEnergy":0},{"houseId":1,"timestampStart":1743017040000,"timestampEnd":1743017100000,"producedEnergy":0,"obtainedEnergy":40493580,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016980000,"timestampEnd":1743017040000,"producedEnergy":0,"obtainedEnergy":37171429,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016920000,"timestampEnd":1743016980000,"producedEnergy":0,"obtainedEnergy":40344258,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016860000,"timestampEnd":1743016920000,"producedEnergy":0,"obtainedEnergy":41331159,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016800000,"timestampEnd":1743016860000,"producedEnergy":0,"obtainedEnergy":36214319,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016740000,"timestampEnd":1743016800000,"producedEnergy":0,"obtainedEnergy":38604981,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016680000,"timestampEnd":1743016740000,"producedEnergy":0,"obtainedEnergy":37715998,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016620000,"timestampEnd":1743016680000,"producedEnergy":0,"obtainedEnergy":37609841,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016560000,"timestampEnd":1743016620000,"producedEnergy":0,"obtainedEnergy":36472172,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016500000,"timestampEnd":1743016560000,"producedEnergy":0,"obtainedEnergy":37707946,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016440000,"timestampEnd":1743016500000,"producedEnergy":0,"obtainedEnergy":37425703,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016380000,"timestampEnd":1743016440000,"producedEnergy":0,"obtainedEnergy":38645757,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016320000,"timestampEnd":1743016380000,"producedEnergy":0,"obtainedEnergy":39216922,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016260000,"timestampEnd":1743016320000,"producedEnergy":0,"obtainedEnergy":39007963,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016200000,"timestampEnd":1743016260000,"producedEnergy":0,"obtainedEnergy":36233098,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016140000,"timestampEnd":1743016200000,"producedEnergy":0,"obtainedEnergy":39246012,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016080000,"timestampEnd":1743016140000,"producedEnergy":0,"obtainedEnergy":38696660,"injectedEnergy":0},{"houseId":1,"timestampStart":1743016020000,"timestampEnd":1743016080000,"producedEnergy":0,"obtainedEnergy":31520768,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015960000,"timestampEnd":1743016020000,"producedEnergy":0,"obtainedEnergy":157463165,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015900000,"timestampEnd":1743015960000,"producedEnergy":0,"obtainedEnergy":156144765,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015840000,"timestampEnd":1743015900000,"producedEnergy":0,"obtainedEnergy":59159738,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015780000,"timestampEnd":1743015840000,"producedEnergy":0,"obtainedEnergy":32706916,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015720000,"timestampEnd":1743015780000,"producedEnergy":0,"obtainedEnergy":32468841,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015660000,"timestampEnd":1743015720000,"producedEnergy":0,"obtainedEnergy":34533356,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015600000,"timestampEnd":1743015660000,"producedEnergy":0,"obtainedEnergy":32905216,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015540000,"timestampEnd":1743015600000,"producedEnergy":0,"obtainedEnergy":33749177,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015480000,"timestampEnd":1743015540000,"producedEnergy":0,"obtainedEnergy":33272240,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015420000,"timestampEnd":1743015480000,"producedEnergy":0,"obtainedEnergy":33879669,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015360000,"timestampEnd":1743015420000,"producedEnergy":0,"obtainedEnergy":34336914,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015300000,"timestampEnd":1743015360000,"producedEnergy":0,"obtainedEnergy":34495700,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015240000,"timestampEnd":1743015300000,"producedEnergy":0,"obtainedEnergy":34101393,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015180000,"timestampEnd":1743015240000,"producedEnergy":0,"obtainedEnergy":34060256,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015120000,"timestampEnd":1743015180000,"producedEnergy":0,"obtainedEnergy":33388394,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015060000,"timestampEnd":1743015120000,"producedEnergy":0,"obtainedEnergy":33315630,"injectedEnergy":0},{"houseId":1,"timestampStart":1743015000000,"timestampEnd":1743015060000,"producedEnergy":0,"obtainedEnergy":34396372,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014940000,"timestampEnd":1743015000000,"producedEnergy":0,"obtainedEnergy":32704459,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014880000,"timestampEnd":1743014940000,"producedEnergy":0,"obtainedEnergy":36201925,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014820000,"timestampEnd":1743014880000,"producedEnergy":0,"obtainedEnergy":36757914,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014760000,"timestampEnd":1743014820000,"producedEnergy":0,"obtainedEnergy":30144457,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014700000,"timestampEnd":1743014760000,"producedEnergy":0,"obtainedEnergy":39527992,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014640000,"timestampEnd":1743014700000,"producedEnergy":0,"obtainedEnergy":44881539,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014580000,"timestampEnd":1743014640000,"producedEnergy":0,"obtainedEnergy":45321951,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014520000,"timestampEnd":1743014580000,"producedEnergy":0,"obtainedEnergy":45527199,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014460000,"timestampEnd":1743014520000,"producedEnergy":0,"obtainedEnergy":45644518,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014400000,"timestampEnd":1743014460000,"producedEnergy":0,"obtainedEnergy":46706245,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014340000,"timestampEnd":1743014400000,"producedEnergy":0,"obtainedEnergy":45659835,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014280000,"timestampEnd":1743014340000,"producedEnergy":0,"obtainedEnergy":45969811,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014220000,"timestampEnd":1743014280000,"producedEnergy":0,"obtainedEnergy":46232352,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014160000,"timestampEnd":1743014220000,"producedEnergy":0,"obtainedEnergy":46312484,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014100000,"timestampEnd":1743014160000,"producedEnergy":0,"obtainedEnergy":46807014,"injectedEnergy":0},{"houseId":1,"timestampStart":1743014040000,"timestampEnd":1743014100000,"producedEnergy":0,"obtainedEnergy":46008856,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013980000,"timestampEnd":1743014040000,"producedEnergy":0,"obtainedEnergy":46190942,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013920000,"timestampEnd":1743013980000,"producedEnergy":0,"obtainedEnergy":46003058,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013860000,"timestampEnd":1743013920000,"producedEnergy":0,"obtainedEnergy":45764948,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013800000,"timestampEnd":1743013860000,"producedEnergy":0,"obtainedEnergy":45759883,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013740000,"timestampEnd":1743013800000,"producedEnergy":0,"obtainedEnergy":46141194,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013680000,"timestampEnd":1743013740000,"producedEnergy":0,"obtainedEnergy":45914642,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013620000,"timestampEnd":1743013680000,"producedEnergy":0,"obtainedEnergy":49618896,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013560000,"timestampEnd":1743013620000,"producedEnergy":0,"obtainedEnergy":50143588,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013500000,"timestampEnd":1743013560000,"producedEnergy":0,"obtainedEnergy":49896600,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013440000,"timestampEnd":1743013500000,"producedEnergy":0,"obtainedEnergy":50180348,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013380000,"timestampEnd":1743013440000,"producedEnergy":0,"obtainedEnergy":49831943,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013320000,"timestampEnd":1743013380000,"producedEnergy":0,"obtainedEnergy":49389683,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013260000,"timestampEnd":1743013320000,"producedEnergy":0,"obtainedEnergy":47221875,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013200000,"timestampEnd":1743013260000,"producedEnergy":0,"obtainedEnergy":47549260,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013140000,"timestampEnd":1743013200000,"producedEnergy":0,"obtainedEnergy":50275336,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013080000,"timestampEnd":1743013140000,"producedEnergy":0,"obtainedEnergy":50453877,"injectedEnergy":0},{"houseId":1,"timestampStart":1743013020000,"timestampEnd":1743013080000,"producedEnergy":0,"obtainedEnergy":50854795,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012960000,"timestampEnd":1743013020000,"producedEnergy":0,"obtainedEnergy":49164663,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012900000,"timestampEnd":1743012960000,"producedEnergy":0,"obtainedEnergy":51024456,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012840000,"timestampEnd":1743012900000,"producedEnergy":0,"obtainedEnergy":47996484,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012780000,"timestampEnd":1743012840000,"producedEnergy":0,"obtainedEnergy":47404432,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012720000,"timestampEnd":1743012780000,"producedEnergy":0,"obtainedEnergy":54215233,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012660000,"timestampEnd":1743012720000,"producedEnergy":0,"obtainedEnergy":47695367,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012600000,"timestampEnd":1743012660000,"producedEnergy":0,"obtainedEnergy":48224265,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012540000,"timestampEnd":1743012600000,"producedEnergy":0,"obtainedEnergy":48173370,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012480000,"timestampEnd":1743012540000,"producedEnergy":0,"obtainedEnergy":48179888,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012420000,"timestampEnd":1743012480000,"producedEnergy":0,"obtainedEnergy":47931370,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012360000,"timestampEnd":1743012420000,"producedEnergy":0,"obtainedEnergy":48220993,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012300000,"timestampEnd":1743012360000,"producedEnergy":0,"obtainedEnergy":47807703,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012240000,"timestampEnd":1743012300000,"producedEnergy":0,"obtainedEnergy":48467594,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012180000,"timestampEnd":1743012240000,"producedEnergy":0,"obtainedEnergy":49354452,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012120000,"timestampEnd":1743012180000,"producedEnergy":0,"obtainedEnergy":49164242,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012060000,"timestampEnd":1743012120000,"producedEnergy":0,"obtainedEnergy":45301655,"injectedEnergy":0},{"houseId":1,"timestampStart":1743012000000,"timestampEnd":1743012060000,"producedEnergy":0,"obtainedEnergy":45488635,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011940000,"timestampEnd":1743012000000,"producedEnergy":0,"obtainedEnergy":45649654,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011880000,"timestampEnd":1743011940000,"producedEnergy":0,"obtainedEnergy":44674549,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011820000,"timestampEnd":1743011880000,"producedEnergy":0,"obtainedEnergy":45923059,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011760000,"timestampEnd":1743011820000,"producedEnergy":0,"obtainedEnergy":45725156,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011700000,"timestampEnd":1743011760000,"producedEnergy":0,"obtainedEnergy":45742786,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011640000,"timestampEnd":1743011700000,"producedEnergy":0,"obtainedEnergy":45584859,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011580000,"timestampEnd":1743011640000,"producedEnergy":0,"obtainedEnergy":45613996,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011520000,"timestampEnd":1743011580000,"producedEnergy":0,"obtainedEnergy":45637842,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011460000,"timestampEnd":1743011520000,"producedEnergy":0,"obtainedEnergy":45422159,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011400000,"timestampEnd":1743011460000,"producedEnergy":0,"obtainedEnergy":45543455,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011340000,"timestampEnd":1743011400000,"producedEnergy":0,"obtainedEnergy":45442465,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011280000,"timestampEnd":1743011340000,"producedEnergy":0,"obtainedEnergy":42691073,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011220000,"timestampEnd":1743011280000,"producedEnergy":0,"obtainedEnergy":43188412,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011160000,"timestampEnd":1743011220000,"producedEnergy":0,"obtainedEnergy":43080711,"injectedEnergy":0},{"houseId":1,"timestampStart":1743011100000,"timestampEnd":1743011160000,"producedEnergy":0,"obtainedEnergy":42740475,"injectedEnergy":0}] + public barChartOptions: ChartConfiguration<'bar'>['options'] = { // We use these empty structures as placeholders for dynamic theming. scales: { @@ -28,6 +93,7 @@ export class AppComponent { }, }, }; + public barChartData: ChartData<'bar'> = { labels: ['2006', '2007', '2008', '2009', '2010', '2011', '2012'], datasets: [ @@ -35,4 +101,6 @@ export class AppComponent { { data: [28, 48, 40, 19, 86, 27, 90], label: 'Series B' }, ], }; + + } diff --git a/src/app/app.config.ts b/src/app/app.config.ts index cf3756e..a2979d3 100644 --- a/src/app/app.config.ts +++ b/src/app/app.config.ts @@ -2,8 +2,6 @@ import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { provideHttpClient } from '@angular/common/http'; -import { provideCharts, withDefaultRegisterables } from 'ng2-charts'; - import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { @@ -11,6 +9,5 @@ export const appConfig: ApplicationConfig = { provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes), provideHttpClient(), - provideCharts(withDefaultRegisterables()) ] };