Das dreidimensionale Säulendiagramm besteht aus drei Teilen: vorne, rechts und oben. Beim Zeichnen müssen Sie die Vorderseite als Grafik, die rechte und die obere als Grafik zeichnen, sie dann in echats registrieren und in renderItem in der Optionsreihe rendern Der Code lautet wie folgt: (1) Registrieren und Zeichnen von Grafiken Registrierung () { let MyCubeRect = this.$echarts.graphic.extendShape({ Form: x: 0, y: 0, Breite: 20, zBreite: 8, zHöhe: 4 }, BuildPath: Funktion (ctx, Form) { const api = shape.api const xAxisPoint = api.coord([shape.xValue, 0]) const p0 = [Form.x, Form.y] const p1 = [Form.x - Form.Breite / 2, Form.y] const p4 = [Form.x + Form.Breite / 2, Form.y] const p2 = [Form.x - Form.Breite / 2, xAchsenpunkt[1]] const p3 = [Form.x + Form.Breite / 2, xAchsenpunkt[1]] ctx.moveTo(p0[0], p0[1]) ctx.lineTo(p1[0], p1[1]) ctx.lineTo(p2[0], p2[1]) ctx.lineTo(p3[0], p3[1]) ctx.lineTo(p4[0], p4[1]) ctx.lineTo(p0[0], p0[1]) ctx.closePath() } }) lass MyCubeShadow = this.$echarts.graphic.extendShape({ Form: x: 0, y: 0, Breite: 20, zBreite: 8, zHöhe: 4 }, BuildPath: Funktion (ctx, Form) { const api = shape.api const xAxisPoint = api.coord([shape.xValue, 0]) const p1 = [Form.x - Form.Breite / 2, Form.y] const p4 = [Form.x + Form.Breite / 2, Form.y] const p6 = [Form.x + Form.Breite / 2 + Form.zBreite, Form.y - Form.zHöhe] const p7 = [Form.x - Form.Breite / 2 + Form.zBreite, Form.y - Form.zHöhe] const p3 = [Form.x + Form.Breite / 2, xAchsenpunkt[1]] const p5 = [shape.x + shape.width / 2 + shape.zWidth, xAxisPoint[1] - shape.zHeight] ctx.moveTo(p4[0], p4[1]) ctx.lineTo(p3[0], p3[1]) ctx.lineTo(p5[0], p5[1]) ctx.lineTo(p6[0], p6[1]) ctx.lineTo(p4[0], p4[1]) ctx.moveTo(p4[0], p4[1]) ctx.lineTo(p6[0], p6[1]) ctx.lineTo(p7[0], p7[1]) ctx.lineTo(p1[0], p1[1]) ctx.lineTo(p4[0], p4[1]) ctx.closePath() } }) dies.$echarts.graphic.registerShape('MyCubeRect', MyCubeRect) dies.$echarts.graphic.registerShape('MyCubeShadow', MyCubeShadow) } (2) Rendern von Grafiken Balkendiagrammoption: { Tooltip: { Auslöser: 'Achse', Achsenzeiger: Typ: 'Kreuz', Etikett: { Hintergrundfarbe: '#6a7985' } } }, Netz: { containLabel: wahr, oben: '30px', unten: '0px', links: '0px' }, x-Achse: Typ: "Kategorie", Achsenbezeichnung: { Intervall: 0, Schriftgröße: Schriftgröße(12) }, Achsenlinie: { anzeigen: falsch, Linienstil: Farbe: '#98b9c5' } }, data: [] // Daten, die über das Backend js übergeben werden}, yAchse: { Typ: "Wert", Achsenbezeichnung: { Schriftgröße: Schriftgröße(12) }, Achsenlinie: { anzeigen: falsch, Linienstil: Farbe: '#98b9c5' } }, geteilte Zeile: { Linienstil: Farbe: '#3a586a', Typ: ‚gestrichelt‘ } } }, Serie: [{ Name: 'Energieverbrauch pro Flächeneinheit', Typ: "benutzerdefiniert", renderItem: (params, api) => { let Standort = api.Koordinate([api.Wert(0), api.Wert(1)]) zurückkehren { Typ: "Gruppe", Kinder: [{ Typ: "MyCubeRect", Form: API, xWert: api.value(0) - 0,5, yWert: api.value(1), x: Standort[0], y: Standort[1] }, Stil: api.style() }, { Typ: 'MyCubeShadow', Form: API, xWert: api.value(0) - 0,5, yWert: api.value(1), x: Standort[0], y: Standort[1] }, Stil: { füllen: api.style(), text: '' } }] } }, Stapel: 'Energieverbrauch pro Flächeneinheit', Etikett: { zeigen: wahr, Position: 'oben', Formatierer: "{c}", Textstil: { Schriftgröße: Schriftgröße(12), Farbe: '#fff', ausrichten: "zentriert" } }, Artikelstil: { Farbe: neu dies.$echarts.graphic.LinearGradient( 0, 0, 0, 1, [ { Offset: 0, Farbe: '#b1950d' }, { Offset: 0,5, Farbe: '#aea20d' }, { Offset: 1, Farbe: '#a5aa12' } ] ) }, data: [] //Vom Backend übergebene Daten}] } Notiz: 1) Beim Registrieren von Grafiken, Stil: nur Stil kann verwendet werden: api.style(); generateBarChart() { lass vm = dies if (this.$refs['uintEnergyConsume']) { //this.$refs ist der Referenzwert des generierten Grafikbereichs this.$echarts.graphic.registerShape('MyCubeRect', this.MyCubeRect) dies.$echarts.graphic.registerShape('MyCubeShadow', dies.MyCubeShadow) dies.barChart = dies.$echarts.init(dies.$refs['uintEnergyConsume']) this.barChart.setOption(this.barChartOption, falsch, wahr) $(window).resize(function () { //Bildschirmanpassung vm.handleResize() }) } } (4) Code im Template <div ref="uintEnergyConsume" id="uintEnergyConsume" Klasse="Chart-Container" style="width: 100%;" element-loading-text="Wird geladen..."></div> </div> (5) Die Wirkungen sind wie folgt: Referenzgrafik-URL: Vue verwendet Echarts, um ein dreidimensionales Balkendiagramm zu implementieren Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
>>: MySQL 8.0.20 Installations- und Konfigurations-Tutorial unter Docker
beschreiben Gibt das Zeitintervall zwischen zwei ...
Inhaltsverzeichnis 1. So finden Sie doppelte Zeil...
Folgendes ist passiert. Heute habe ich mit GitHub...
Jeder weiß, dass Bilder auf Webseiten im Allgemein...
Inhaltsverzeichnis 1. Umfang des Blocks 1.1. let ...
Bei einem unserer Webprojekte ist aufgrund der Zu...
Ein Hauptmerkmal des WeChat 8.0-Updates ist die U...
Schauen Sie sich zuerst den Code und die Wirkung ...
Inhaltsverzeichnis 1. React Hooks vs. reine Funkt...
Die Verwendung von „Computed“ in vue3. Da vue3 mi...
In diesem Artikel wird der einfache Prozess der I...
Inhaltsverzeichnis 1. Verbindung zum Tencent Clou...
1. Einleitung Es wird seit Version 5.0 unterstütz...
Git ist in vscode integriert und viele Vorgänge k...
Ein Kollege fragte mich, was N und M im MySQL-Dat...