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
SPARKLINE Diagrammtypen
line
column
winloss
bar

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.

  • =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:

D2:E4
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

Bearbeiten
A1:B11 - Beispieltabelle
Datum 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
 
Charttype line, weiß auf schwarz
  • =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"

Bearbeiten

ymin 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

Bearbeiten

Horizontales 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
 
Darstellung als Barchart
  • =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

Bearbeiten
 
Darstellung einiger Funktionen mit Sparklines.

Zur (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
 
Einige Zeichnungen mit Sparklines


  • =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
 
Ein mit SPARKLINE gezeichnetes Schiff
  • =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 ... ;-)
 
Ein Roboter, gezeichnet mit SPARKLINE
  • =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.

 
Ein Roboter im Liniendiagramm


  • =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})



Bearbeiten


Die Beispiele auf dieser Seite wurden getestet: 04/2022