Spaltenrollen

Auf dieser Seite werden das Konzept und die Verwendung von Rollen in Diagrammdatentabellen beschrieben.

  1. Was sind Rollen?
  2. Welche Rollen sind verfügbar?
  3. Rollenhierarchie und Assoziativität
  4. Rollen zuweisen

Was sind Rollen?

Google DataTable- und DataView-Objekte unterstützen jetzt explizit zugewiesene Spaltenrollen. Eine Spaltenrolle beschreibt den Zweck der Daten in dieser Spalte. Eine Spalte kann beispielsweise Daten enthalten, die Kurzinfotext, Datenpunkte oder Unsicherheitsindikatoren beschreiben. Die meisten Spaltenrollen gelten für die der Spalte „data“ vorangehende Spaltenrollen, unabhängig davon, ob sie sich direkt vor oder vor der ersten einer aufeinanderfolgenden Gruppe von Rollenspalten befindet. Sie könnten beispielsweise zwei Spalten haben, die auf die Spalte „Daten“ folgen, eine für „Kurzinfo“ und eine für „Anmerkung“. Gemäß der Spalte „Domain“ sind jedoch auch die Spaltenrollen „annotation“ und „annotationText“ zulässig.

Hinweis: Wenn Sie den Inhalt der Kurzinfos steuern möchten, die angezeigt werden, wenn der Nutzer den Mauszeiger auf ein Diagramm bewegt, finden Sie weitere Informationen unter Kurzinfos.

Ursprünglich gab es nur zwei Rollen für eine Spalte: „Domain“, das die Werte der Hauptachse angibt, und „data“, das Balkenhöhen, Kreissegmentbreiten usw. angibt. Diese Rollen wurden implizit basierend auf der Reihenfolge und dem Typ der Spalten in der Tabelle zugewiesen. Mit der Möglichkeit, Spaltenrollen explizit zuzuweisen, können Sie jetzt optionale Spalten hinzufügen, die einem Diagramm neue, interessante Funktionen wie beliebige Anmerkungslabels, Hovertext und Unsicherheitsbalken bieten.

Wenn Sie die Rolle einer Spalte nicht explizit zuweisen, wird ihre Rolle aus der Reihenfolge der Spalte in der Tabelle gemäß der Datenformatspezifikation des Diagramms abgeleitet. Auf dieser Seite erfahren Sie, welche Rollen Sie explizit zuweisen können und wie Sie sie zuweisen können.

Im Folgenden finden Sie einen Vergleich davon, was Sie mit einem Liniendiagramm nur mit den abgeleiteten Standardrollen tun können, mit zusätzlichen, explizit zugewiesenen Rollen.

Format der Datentabelle für Liniendiagramme:

  Spalte 0 Spalte 1 ... Spalte N
Zweck Werte für Zeile 1 ... Werte für Zeile N
Datentyp number ... number
Rolle Domain Daten ... Daten
Optional unterstützte
Spaltenrollen
  • Annotation
  • annotationText
  • Annotation
  • annotationText
  • Sicherheit
  • Betonung
  • interval
  • Bereich
  • Stil
  • Kurzinfo
...
  • Annotation
  • annotationText
  • Sicherheit
  • Betonung
  • interval
  • Bereich
  • Stil
  • Kurzinfo

 

Diagramm ohne explizite Spaltenrollen Diagramm mit expliziten Spaltenrollen

In diesem Diagramm werden Rollen nicht explizit zugewiesen. Daher kann nur das oben gezeigte grundlegende Spaltenlayout für Daten und Domains verwendet werden.

Datentabelle:

var data = new google.visualization.DataTable();
data.addColumn('string', 'Month'); // Implicit domain label col.
data.addColumn('number', 'Sales'); // Implicit series 1 data col.
data.addRows([
  ['April',1000],
  ['May',  1170],
  ['June',  660],
  ['July', 1030]
]);

In diesem Diagramm werden Rollen explizit zugewiesen, sodass die optionalen Spalten hinzugefügt werden können. Dieses Diagramm hat optionale Spalten für die Rollen Annotation, AnnotationText, Intervall und Sicherheit.

  • annotation-Spalten geben statische Labels im Diagramm an. Hier sind "A", "B" und "C" Annotationen.
  • In den Spalten annotationText wird ein Hovertext angegeben, wenn der Mauszeiger auf die Annotation bewegt wird (nicht auf den Datenpunkt).
  • Mit interval-Spalten werden der obere und der untere Punkt von I-Balken im Diagramm festgelegt. Das Diagramm enthält drei I-Balken.
  • Accuracy-Spalten zeigen an, ob die Daten an diesem Punkt sicher sind. Der letzte Datenpunkt ist ungewiss, daher ist die zu ihm führende Linie gestrichelt.

Datentabelle:

var data = new google.visualization.DataTable();
data.addColumn('string', 'Month'); // Implicit domain label col.
data.addColumn('number', 'Sales'); // Implicit series 1 data col.
data.addColumn({type:'number', role:'interval'});  // interval role col.
data.addColumn({type:'number', role:'interval'});  // interval role col.
data.addColumn({type:'string', role:'annotation'}); // annotation role col.
data.addColumn({type:'string', role:'annotationText'}); // annotationText col.
data.addColumn({type:'boolean',role:'certainty'}); // certainty col.
data.addRows([
    ['April',1000,  900, 1100,  'A','Stolen data', true],
    ['May',  1170, 1000, 1200,  'B','Coffee spill', true],
    ['June',  660,  550,  800,  'C','Wumpus attack', true],
    ['July', 1030, null, null, null, null, false]
]);

Welche Rollen sind verfügbar?

In der folgenden Tabelle sind alle von Google Charts unterstützten Rollen aufgeführt. Nicht alle Rollen werden von allen Diagrammtypen unterstützt. In der Dokumentation zu jedem Diagramm wird beschrieben, welche Rollen verfügbar sind und wo sie platziert werden. Rollen werden für unterschiedliche Diagrammtypen unterschiedlich gerendert.

Rolle Beschreibung Beispiel
Anmerkung

Text, der im Diagramm in der Nähe des zugehörigen Datenpunkts angezeigt wird. Der Text wird ohne Nutzerinteraktion angezeigt. Annotationen und Anmerkungstext können sowohl Datenpunkten als auch Kategorien (Achsenbeschriftungen) zugewiesen werden.

Es gibt zwei Stile für Anmerkungen: Punkt (Standard), mit dem der Anmerkungstext in der Nähe des angegebenen Punkts gezeichnet wird, und Linie, mit dem der Anmerkungstext auf einer Linie gezeichnet wird, die den Diagrammbereich schneidet. Sie können den Linienstil festlegen, indem Sie die folgende Diagrammoption festlegen: annotations: {'column_id': {style: 'line'}}

Datentyp: String

Standardeinstellung: Leerer String

Daten:

label: 'Jahr', 'Verkäufe', null, null, 'Ausgaben', null, null Rolle: Domain, Daten, Anmerkung, Anmerkungstext, Daten, Anmerkung, Anmerkungstext '2004', 1000, null, null, 400, null, null '2005', 1170, null, null '2005', 1170, null, null '0'0'46

'A' und 'B' in diesem Diagramm sind Anmerkungen. Bewegen Sie den Mauszeiger auf die Anmerkung, um den Text der Anmerkung zu sehen. Damit der Wert „annotationText“ angezeigt wird, müssen Sie den Mauszeiger auf die Anmerkung bewegen und nicht auf den Datenpunkt, auf den sie angewendet wurde.

Nullwerte werden sowohl für Annotations- als auch für AnnotationText-Zellen akzeptiert. Wenn Sie jedoch einen „annotationText“-Wert haben, muss diesem auch ein Annotationswert zugewiesen sein.

annotationText

Erweiterter Text, der angezeigt wird, wenn der Nutzer den Mauszeiger auf die verknüpfte Anmerkung bewegt. Annotationen und Anmerkungstext können sowohl Datenpunkten als auch Kategorien (Achsenbeschriftungen) zugewiesen werden. Wenn Sie eine Anmerkungsspalte haben, benötigen Sie auch eine Anmerkungsspalte. Die Kurzinfo wird dagegen angezeigt, wenn der Nutzer den Mauszeiger auf den zugehörigen Datenpunkt im Diagramm bewegt.

Datentyp: String

Standardeinstellung: Leerer String

Sicherheit

Gibt an, ob ein Datenpunkt sicher ist oder nicht. Wie dies dargestellt wird, hängt vom Diagrammtyp ab. Es kann beispielsweise durch gestrichelte Linien oder eine gestreifte Füllung dargestellt sein.

Bei Linien- und Flächendiagrammen ist das Segment zwischen zwei Datenpunkten nur dann sicher, wenn beide Datenpunkte sicher sind.

Datentyp: boolesch, wobei „wahr“ sicher ist, „falsch“ ist nicht sicher.

Standardeinstellung: true

Betonung

Hebt angegebene Diagrammdatenpunkte hervor. Wird als dicke Linie und/oder großer Punkt angezeigt.

Bei Linien- und Flächendiagrammen wird das Segment zwischen zwei Datenpunkten nur dann hervorgehoben, wenn beide Datenpunkte hervorgehoben werden.

Datentyp: Boolesch

Standardeinstellung: false

Daten:

label: 'Year',  'Sales',     null, 'Expenses',     null
 role: domain,   data,   emphasis,     data,   emphasis
       '2004',   1000,       true,      400,      false
       '2005',   1170,       true,      460,       true
       '2006',    660,      false,     1120,       true
       '2007',   1030,      false,      540,       true

In diesem Diagramm enthält die Reihe „Verkäufe“ ein hervorgehobenes Segment, das durch Spalte drei, Zeilen eins und zwei gekennzeichnet wird. Die Reihe „Ausgaben“ hat zwei hervorgehobene Segmente, die durch die fünfte Spalte gekennzeichnet werden, und zwar die Zeilen zwei, drei und vier. Beachten Sie, wie die Betonung erfordert, dass beide Begrenzungspunkte betont werden.

Intervall

Gibt einen potenziellen Datenbereich für einen bestimmten Punkt an. Intervalle werden normalerweise als I-Balken-Stilbereichsindikatoren dargestellt. Intervallspalten sind numerische Spalten. Fügen Sie Intervallspalten paarweise hinzu und markieren Sie den niedrigsten und den höchsten Wert des Balkens. Intervallwerte sollten mit zunehmendem Wert von links nach rechts hinzugefügt werden.

Datentyp: Zahl

Standard: Kein Intervall

Daten:

label: 'Day',  'Stock value',   null,     null
 role: domain,     data,    interval, interval
        'Mon',       38,          20,       45
        'Tue',       55,          31,       66
        'Wed',       77,          50,       80
      'Thurs',       66,          50,       77

In diesem Diagramm definieren die Intervallwerte einen Doppelstrich um die Punkte. Die Werte steigen von links nach rechts. Das höchste und niedrigste Intervall um einen Punkt kennzeichnet den oberen und unteren Rand des Balkens.

Hinweis: Weitere Informationen zu Intervallen finden Sie unter Intervalle.

Umfang

Gibt an, ob ein Punkt im Geltungsbereich oder außerhalb des Geltungsbereichs liegt. Wenn ein Punkt außerhalb des Umfangs liegt, wird er visuell weniger hervorgehoben.

Bei Linien- und Flächendiagrammen gilt das Segment zwischen zwei Datenpunkten, wenn beide Endpunkte berücksichtigt werden.

Datentyp: Boolesch, wobei "true" für den Umfang bedeutet.

Standardeinstellung: true

Daten:

label: 'Year',   'Sales',    null,    'Expenses',      null
 role: domain,     data,    scope,        data,       scope
        '2004',    1000,    false,         400,        true
        '2005',    1170,    false,         460,       false
        '2006',     660,     true,        1120,       false
        '2007',    1030,     true,         540,       false

Die erste Umfangsspalte bezieht sich auf die Datenspalte „Verkäufe“ links daneben. Das erste Segment wird außerhalb des Umfangs gerendert, da beide Begrenzungspunkte außerhalb des Umfangs liegen. Die zweite Bereichsspalte bezieht sich auf die Datenspalte „Ausgaben“ auf der linken Seite. Das erste Segment ist als im Projektumfang enthalten markiert, weil einer seiner Grenzpunkte im Umfang liegt. Der Rest der Linie ist außerhalb des Umfangs, da alle anderen Punkte als außerhalb des Umfangs markiert sind.

Stil

Hier können Sie bestimmte Eigenschaften verschiedener Aspekte Ihrer Daten gestalten. Diese Werte sind:

  • color
  • opacity
  • stroke-width
  • stroke-color
  • stroke-opacity
  • fill-color
  • fill-opacity

Datentyp: String, wobei mehrere Stile mit einer 'firstProperty: value; secondProperty: value'-Syntax angewendet werden können oder bestimmte Stile für bar, line, und point festgelegt werden können. Dazu geben Sie den Typ an und setzen die Stileigenschaften in geschweiften Klammern (z. B. bar { //properties go here }).

Standard: null

Daten:

label: 'Character', 'Popularity',   'Style',
role:  domain,      data,   style,
'Hulk',             50,    'color: green',
'Captain America',  75,    'color: #0000cf;' +
                           'stroke-color: #cf001d',
'Wolverine',        90,    'opacity: 0.5;' +
                           'stroke-width: 5;' +
                           'stroke-color: #01a0ff;' +
                           'fill-color: #fff600',
'Iron Man',         60,    'color: #db9500;' +
                           'stroke-width: 10;' +
                           'stroke-color: #a30300',
'Spider Man',       100,   'bar {' +
                           'fill-color: #c8001d;' +
                           'stroke-width: 3;' +
                           'stroke-color: #1800c8}'

      

In diesem Diagramm wird jeder Balken unabhängig von den anderen mit der Spaltenrolle style gestaltet. Stile können speziell für Punkt, Linien oder Balken festgelegt werden (siehe Zeile von Spider Man) oder allgemein. Dadurch werden die Stile je nach Diagrammtyp auf alle Punkte, Linien und Balken angewendet.

Hinweis: Weitere Informationen zum Anpassen des Stils von Punkten, Linien und Balken finden Sie an anderer Stelle. Sehen Sie sich auch die Optionen für jeden Diagrammtyp an, bei denen Stile für andere Arten von Entitäten wie Flächen, Text und Felder angegeben werden können.

Kurzinfo

Text, der angezeigt wird, wenn der Nutzer den Mauszeiger auf den mit dieser Zeile verknüpften Datenpunkt bewegt.

Hinweis: Dies wird von der Visualisierung Blasendiagramm nicht unterstützt. Der Inhalt der HTML-Kurzinfos für das Blasendiagramm kann nicht angepasst werden.

Datentyp: String

Standard: Datenpunktwert

Daten:

label: 'Year',   'Sales',    null,   'Expenses',    null
 role: domain,     data,    tooltip,    data,      tooltip
        '2004',    1000, '1M$ sales,     400,    '$0.4M expenses
                           in 2004'                  in 2004'
        '2005',    1170, '1.17M$ sales,  460,    '$0.46M expenses
                            in 2005'                  in 2005'
        '2006',     660, '.66$ sales,   1120,     '$1.12M expenses
                            in 2006'                 in 2006'
        '2007',    1030, '1.03M$ sales,  540,    '$0.54M expenses
                            in 2007'                  in 2007'

Bewegen Sie den Mauszeiger auf die Datenpunkte, um die Kurzinfo aufzurufen. Kurzinfo-Daten werden allen Punkten in beiden Linien in den Spalten 3 und 5 zugewiesen.

Hinweis: Weitere Informationen zum Anpassen von Kurzinfos finden Sie unter Kurzinfos.

Domain

Sie sollten diese Rolle nur dann explizit zuweisen, wenn Sie ein Diagramm mit mehreren Domains erstellen (siehe hier). Durch das Grundformat der Datentabelle kann die Diagramm-Engine ableiten, welche Spalten Domainspalten sind. Sie sollten jedoch wissen, welche Spalten Domainspalten sind, damit Sie wissen, welche anderen Spalten sie ändern können.

Domainspalten geben Labels entlang der Hauptachse des Diagramms an. Manchmal werden mehrere Domainspalten verwendet, um mehrere Skalen innerhalb desselben Diagramms zu unterstützen.

Datentyp: Normalerweise String, gelegentlich aber auch Zahl oder Datum

Daten:

label: '2009,  '2009,     '2009,   '2008,    '2008    '2008
      Quarter', Sales', Expenses', Quarter', Sales', Expenses'
role:  domain,   data,       data,   domain,   data,     data
      'Q1/09',   1000,        400,  'Q1/08',    800,      300
      'Q2/09',   1170,        460,  'Q2/08',    750,      400
      'Q3/09',    660,       1120,  'Q3/08',    700,      540
      'Q4/09',   1030,        540,  'Q4/08',    820,      620

Dieses Beispiel zeigt ein Diagramm mit mehreren Domains. In den ersten beiden Datenspalten wird die erste Domain („Quartal 2009“) und in den letzten beiden Datenspalten die zweite Domain („Quartal 2008“) angepasst. Beide Domänen befinden sich auf derselben Achsenskalierung.

Daten

Sie sollten diese Rolle nicht explizit zuweisen müssen. Durch das Grundformat der Datentabelle kann die Diagramm-Engine ableiten, welche Spalten Domainspalten sind. Sie sollten jedoch wissen, welche Spalten Datenspalten sind, damit Sie wissen, welche anderen Spalten sie ändern können.

Datenrollenspalten geben die Datenreihendaten an, die im Diagramm gerendert werden sollen. Bei den meisten Diagrammen entspricht eine Spalte einer Reihe, dies kann jedoch je nach Diagrammtyp variieren. Für Streudiagramme sind beispielsweise zwei Datenspalten für die erste Reihe und eine zusätzliche für jede zusätzliche Reihe erforderlich. Für Kerzendiagramme sind vier Datenspalten pro Reihe erforderlich.

Datentyp: Zahl

 

Rollenhierarchie und Assoziativität

Das folgende Diagramm zeigt, welche Rollenspalten auf welche anderen Rollenspalten angewendet werden können. Alle Spalten mit Ausnahme von Domainspalten gelten für den nächsten linken Nachbarn, auf den sie angewendet werden kann.

So wird beispielsweise eine Spalte scope auf die nächstgelegene data-Spalte auf der linken Seite angewendet, die annotationText-Spalte auf die nächstgelegene annotation-Spalte auf der linken Seite und eine annotation auf die nächstgelegene data- oder domain-Spalte links davon.

Rollen zuweisen

Rollen werden als Eigenschaft der Spalte in einem DataTable-Objekt zugewiesen. Es gibt mehrere Möglichkeiten, eine Rollenspalte zu erstellen. Hier sind die gängigsten:

Mit den ersten beiden Verfahren wird das folgende Diagramm gezeichnet:

Methode „DataTable.addColumn“

Im folgenden Beispiel wird ein Balkendiagramm mit einer Intervallmarkierung für drei der Balken erstellt. Die Intervallmarkierungen werden durch die dritte und vierte Spalte mithilfe der Methode DataTable.addColumn() angegeben.

       var data = new google.visualization.DataTable();
       data.addColumn('string', 'Month'); // Implicit domain column.
       data.addColumn('number', 'Sales'); // Implicit data column.
       data.addColumn({type:'number', role:'interval'});
       data.addColumn({type:'number', role:'interval'});
       data.addColumn('number', 'Expenses');
       data.addRows([
         ['April',1000,  900, 1100,   400],
         ['May',  1170, 1000, 1200,   460],
         ['June',  660,  550,  800,  1120],
         ['July', 1030,    ,     ,    540]
       ]);

       var chart = new google.visualization.BarChart(
                document.getElementById('visualization'));
       chart.draw(data,
          {width: 800, height: 600, title: 'Company Performance'});

JavaScript-Literal-Notation

Im JSON-Literal müssen Sie das Attribut p der Spalte mit dem Wert "role":"role-type" angeben. Das folgende Beispiel zeigt, wie Rollen mithilfe der JavaScript-Literalschreibweise angegeben werden. Dies ist nur bei der Tabellenerstellung möglich.

{"cols":[
  {"id":"","label":"Month","pattern":"","type":"string"},
  {"id":"","label":"Sales","pattern":"","type":"number"},
  {"id":"","label":"","pattern":"","type":"number","p":{"role":"interval"}},
  {"id":"","label":"","pattern":"","type":"number","p":{"role":"interval"}},
  {"id":"","label":"Expenses","pattern":"","type":"number"}],
"rows":[
  {"c":[
    {"v":"April","f":null},
    {"v":1000,"f":null},
    {"v":900,"f":null},
    {"v":1100,"f":null},
    {"v":400,"f":null}]},
  {"c":[
    {"v":"May","f":null},
    {"v":1170,"f":null},
    {"v":1000,"f":null},
    {"v":1200,"f":null},
    {"v":460,"f":null}]},
  {"c":[{"v":"June","f":null},
    {"v":660,"f":null},
    {"v":550,"f":null},
    {"v":800,"f":null},
    {"v":1120,"f":null}]},
  {"c":[
    {"v":"July","f":null},
    {"v":1030,"f":null},
    {"v":null,"f":null},
    {"v":null,"f":null},
    {"v":540,"f":null}]}],
"p":null
}

DataView.setColumns-Methode

Beim Erstellen einer Ansicht können Sie die Rolle einer Spalte explizit festlegen. Dies ist nützlich, wenn Sie eine neue berechnete Spalte erstellen. Weitere Informationen finden Sie unter DataView.setColumns().