Google Sheets-Kochbuch: SPARKLINEs - Miniaturdiagramme
Die Funktion SPARKLINE dient dazu, kleine Diagramme in Zellen einzufügen. Sie können damit aber auch kleine Zeichnungen erstellen oder sogar Animationen anfertigen.
Die Funktion SPARKLINE erzeugt vier verschiedene Typen von Diagrammen:
- line: Liniendiagramme
- column: Säulendiagramme
- winloss: Säulendiagramme, die nur plus oder minus anzeigen
- bar: Balkendiagramme
Die Größe des Diagramms hängt von der Größe der Zelle ab. Sie können entweder die Breite/Höhe der Spalte/Zeile anpassen, oder mehrere Zellen miteinander verbinden.
Syntax
Bearbeiten=SPARKLINE(Daten;Optionen)
Die Funktion SPARKLINE hat zwei Argumente. Als erstes der Datenbereich, der dargestellt werden soll, als zweites die verschiedenen Optionen, wie die Daten dargestellt werden sollen. Dabei kann man SPARKLINE auch ohne Optionen verwenden.
- Der Datenbereich ist eine Liste (also eine Zeile oder eine Spalte). Bei Liniendiagrammen kann es auch ein Array mit X/Y-Werten sein (zwei Spalten oder zwei Zeilen).
- Bei Liniendiagrammen werden die angegebenen Punkte der Reihe nach miteinander verbunden. Dabei ist der kleinste X-/Y-Wert unten links. Das Diagramm wird so skaliert, dass es in die Zelle passt.
- Die Optionen werden als zweidimensionales Array bzw. als Bereich angegeben. Dabei steht jeweils eine Option mit dem zugehörigen Wert nebeneinander in einer Zeile.
Optionen als Bereich:
charttype | line |
color | blue |
ymin | 1 |
=SPARKLINE(A2:B;D2:E4)
- Der Datenbereich ist in den Spalten A2:B, die Optionen stehen in den Zellen D2:E4.
Optionen als Array:
=SPARKLINE(A2:B;{"charttype"\"line";"color"\"blue";"ymin"\1})
- Die Optionen werden als String (also in Hochkommata) angegeben, die Werte entweder als String oder als Zahl.
Wir werden weiter unten ein Beispiel sehen, in dem auch der Datenbereich als Array angegeben wird (ein Bereich ist ja ein Array).
Die Farben für Linien-, Säulen- und Winloss-Diagramme können Sie auch über die Farben der Zelle ändern. Die Schriftfarbe bestimmt die Farbe der Graphik, die Hintergrundfarbe der Zelle die Hintergrundfarbe des Diagramms.
Die Optionen stehen alle in der Hilfe, daher werde ich sie nicht weiter aufzählen, sondern nur Beispiele anfügen.
Beispiele
BearbeitenDatum | Preis pro Liter / € |
---|---|
12.01.2021 | 1,159 |
09.07.2021 | 1,259 |
23.07.2021 | 1,659 |
30.07.2021 | 1,412 |
10.08.2021 | 1,309 |
10.09.2021 | 1,319 |
25.10.2021 | 1,539 |
06.02.2022 | 1,689 |
16.03.2022 | 2,209 |
26.03.2022 | 2,059 |
Preisentwicklung als Liniendiagramm
Bearbeiten=SPARKLINE(A2:B11;D2:E4)
oder=SPARKLINE(A2:B11;{"charttype"\"line";"ymin"\1;"ymax"\3})
Die Kalenderdaten aus der Beispieltabelle sind nicht äquidistant (die Kalenderdaten sind unregelmäßig). Daher bietet sich ein Liniendiagramm an, um die Preisentwicklung entsprechend der Kalenderdaten darzustellen.
Die Farben wurden über die Zelleinstellungen gewählt, schwarz als Füllfarbe, weiß als Textfarbe.
Skalierung "on the fly"
Bearbeitenymin und ymax müssen ganzzahlig sein. Statt einem festen Bereich als Eingabedaten können wir uns ein Array beliebig zusammenbasteln.
=SPARKLINE({A2:A11\INDEX({B2:B11}*10)};{"charttype"\"line";"ymin"\10;"ymax"\25})
- Hier wird Spalte B also mit 10 multipliziert. Daher läuft die vertikale Achse (von unten nach oben) jetzt von 10 bis 25, und nicht von 1 bis 2,5 (weil wir 2,5 nicht einstellen können).
- Wir könnten hier natürlich auch andere Skalierungen einstellen, oder nur Abschnitte des Diagramms darstellen.
Spiegeln
BearbeitenHorizontales Spiegeln geht über die Option rtl (right to left = rechts nach links).
=SPARKLINE(A2:B11;{"rtl"\true})
Vertikales Spiegeln geht über die Multiplikation mit -1.
=SPARKLINE({A2:A11\INDEX(B2:B11*-1)})
Preisentwicklung als Balkendiagramm
Bearbeiten=SPARKLINE(B2*10;{"charttype"\"bar";"max"\round(max(B$2:B$11)*10);"color1"\"black"})
- Die Formel muss nun in jede Zeile kopiert werden.
- Wenn man nur einen einzelnen Wert als Balken darstellt, füllt dieser immer die ganze Zelle aus. Über die Option max werden alle Balken gleichmäßig skaliert. Da wieder nur ganzzahlige Werte als max akzeptiert werden, müssen wir die Darstellung skalieren.
- Die Farbdarstellung der Balkendiagramme ist anders als bei den Linien- und Säulendiagrammen. Es gibt hier nur zwei Farben: color1 und color2. Dabei wechseln die Farben immer ab.
Darstellung von Funktionen
BearbeitenZur (sehr) kompakten Darstellung von Funktionen kann ebenfalls eine Sparkline verwendet werden.
=SPARKLINE({INDEX(SEQUENCE(21;1;-10;1)/10)\INDEX((SEQUENCE(21;1;-10;1)/10)^2)})
- Die erste Spalte wird über eine Sequenz von -1 bis 1 in Schritten von 0,1 erzeugt. Da SEQUENCE nur ganzzahlige Sequenzen erstellen kann, wird die Sequenz in eine INDEX-Funktion gewrappt, die die Operation "teile durch 10" auf jede Zeile anwendet.
- Die zugehörigen Y-Werte werden auf die gleiche Weise erzeugt. Hier die Funktion x2.
=SPARKLINE({INDEX(SEQUENCE(21;1;-10;1)/10)\INDEX((SEQUENCE(21;1;-10;1)/10)^3)})
- Und hier die gleiche Darstellung für x3.
=SPARKLINE({INDEX(SEQUENCE(63;1;0;1)/10)\INDEX(SIN(SEQUENCE(63;1;0;1)/10))})
- SIN(x) von 0 bis 6,3 (ungefähr 2*PI).
Weil man es kann - Zeichnungen
Bearbeiten
=SPARKLINE({0\0;0\1;1\1;0,5\2;0\1;1\0;1\1;0\0;1\1})
- Dies ist das Haus ...
=SPARKLINE({INDEX(SIN(RADIANS(SEQUENCE(37;1;0;10))))\INDEX(COS(RADIANS(SEQUENCE(37;1;0;10))))})
- Kreis
=SPARKLINE({INDEX(SIN(RADIANS(SEQUENCE(37;1;0;10))))\INDEX(COS(RADIANS(SEQUENCE(37;1;0;10)))); INDEX(SIN(RADIANS(SEQUENCE(37;1;0;10)))*0,2)\INDEX(COS(RADIANS(SEQUENCE(37;1;0;10)))); INDEX(SIN(RADIANS(SEQUENCE(37;1;0;10)))*0,4)\INDEX(COS(RADIANS(SEQUENCE(37;1;0;10)))); INDEX(SIN(RADIANS(SEQUENCE(37;1;0;10)))*0,6)\INDEX(COS(RADIANS(SEQUENCE(37;1;0;10)))); INDEX(SIN(RADIANS(SEQUENCE(37;1;0;10)))*0,8)\INDEX(COS(RADIANS(SEQUENCE(37;1;0;10)))); INDEX(SIN(RADIANS(SEQUENCE(37;1;0;10)))*0,05)\INDEX(COS(RADIANS(SEQUENCE(37;1;0;10))))})
- Lampion
=SPARKLINE({0,866\6; 3\0;4,732\1,732; 0,866\6; -3\0;3\0; -1,268\1,732; -3\0;4,732\1,732; -1,268\1,732; 0,866\6;0,866\0,866; 3,866\0,866; 0,866\6})
- Quadratische Pyramide
=SPARKLINE({0\7;6\0;20\0;23\4; 25\0;23\4;21,5\4;21\6;22,5\6;23\4;25\7; 20\7;19\11;16\11;17\7;15\7;14\12;11\12; 12\7;10\7;9\11;6\11;7\7;0\7})
- Eine Seefahrt ... ;-)
=SPARKLINE({5\1;6\1;6\5;8\5;8\1;9\1;9\9;10\9;10\6;11\6;11\10;8\10; 8\11;9\11;9\14;7\14;7\15;8\16;7\15;7\14;7\13;6\13;6\12;8\12;8\13;7\13;7\14; 5\14;5\11;6\11;6\10;3\10;3\6;4\6;4\9;5\9;5\1;0\1;22\1;14\1;15\1;15\3; 15\1;16\1;16\3;18\3;18\1;19\1;19\3;19\1;20\1;20\4;21\4;22\3;21\4;20\4;20\5; 15\5;14\6;13\6;12\5;12\4;14\4;14\1})
- Roboter mit Hund
Sie können auch ein Liniendiagramm verwenden, um die Figur darstellen zu lassen.
=SPARKLINE({6\7,5;6\6,5;5,5\6,5;5,5\7,5;6,6\7,5;3,5\7,5;4\6,5; 4\6,5;3,5\5,5;2,5\5,5;3\4,5;4,5\7,5;2,5\3,5;1,5\3;2,5\2,5;2,5\3,5; 2,5\2,5;1,5\2,3;1,5\1,5;2,5\2,5;1\1;3\1,5;3,5\2,5;3,5\1,5; 5,5\1,5;5,5\2,5;4,5\2,5;5,5\2,5;6,5\3,5;6,5\4,5;5,5\5,5;5\5,5; 5\4,5;6\4,5;6\3,7;4\3,7;4\5,5;4\3,7;6\3,7;6\4,5;5\4,5;5\5,5; 6,5\5,5;7\6,5;6,5\7,5;7\6,5})
Weblinks
Bearbeiten
Die Beispiele auf dieser Seite wurden getestet: 04/2022