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
In diesem Artikel finden Sie eine ausführliche An...
Inhaltsverzeichnis 1. Konfigurieren Sie zunächst ...
Heute werde ich den Server nginx verwenden und mu...
1. Rufen Sie die offizielle Docker-Website auf Ge...
Die Trennung von Lese- und Schreibzugriffen in Da...
Dieser Artikel beschreibt anhand von Beispielen d...
1. Installation 1. MySQL herunterladen Download-A...
In CSS3 können mit der Transformationsfunktion vi...
Wie unten dargestellt: Der Testbefehl stellt fest...
In diesem Artikel wird die Installations- und Kon...
In diesem Artikelbeispiel wird der spezifische Ja...
Apache Tomcat ist eine Open-Source-Software, die ...
Schauen wir uns zunächst die Codedateistruktur an...
Inhaltsverzeichnis 1. Hintergrund Architektur Pro...