Wie erstelle ich ein Kombinationsdiagramm mit dem Diagrammmodul, wenn einige X-Achsenwerte fehlen?


7

Ich habe eine Weile erfolglos nach einer Lösung für mein Problem gesucht, also kann mir vielleicht jemand hier helfen.

Ich habe mir bereits die Antwort auf die Frage " Wie kombiniere ich 3 Liniendiagramme in einem einzelnen Diagramm mithilfe der Views-Integration des Diagrammmoduls? " Angesehen , aber das hat nicht zur Lösung meines Problems beigetragen.

Ich verwende die Chart Modul ein Diagramm in erstellen Ansichten mit dem „ Diagramm “ Anzeigeformat. Und ich verwende Highcharts als meine Diagrammbibliothek, um die Anzahl der "Passed" -Knoten (in Grün) zu zeichnen. Ich habe auch ein Diagramm-Add-On erstellt, um die Anzahl der "Fehlgeschlagenen" Knoten (in Rot) darzustellen, damit ich mehrere Serien im selben Diagramm haben kann.

In diesem Moment ist dies die Tabelle, die ich mit dem Problem habe, das ich unten beschreiben werde:

Geben Sie hier die Bildbeschreibung ein

Wie Sie in der obigen Tabelle sehen können, habe ich 4 verschiedene Daten (Ausführungsdatum und -zeit). Das Diagramm sollte die 4 Daten zeigen. Stattdessen werden nur 3 Daten angezeigt. Dies ist der Grund: Das letzte Datum hat keine "Bestanden" -Knoten, sodass die Diagrammanzeige (die übergeordnete) diesen Wert nicht auf ihrer Achse hat. Das Diagramm-Add-On, das die 2 Fehler am letzten Datum darstellt, wird dann über der ersten Anzeige mit dem 3. Datum und nicht mit dem 4. Datum dargestellt, wodurch der Fehler angezeigt wird.

Es scheint, dass die x-Achsenwerte in diesem Modul irrelevant sind.

Das Diagramm, das ich möchte, sollte ungefähr so ​​aussehen:

Geben Sie hier die Bildbeschreibung ein

Ich habe dieses Diagramm in Excel erstellt und der Unterschied, den ich sehe (was in Drupal zu falschen Ergebnissen führt), besteht darin, dass ich keine " 0 bestanden " oder " 0 nicht bestanden " habe, sondern überhaupt keine Ergebnisse.

Gibt es eine Möglichkeit, dies richtig zum Laufen zu bringen? Ich habe bereits viele verfügbare Diagrammmodule ausprobiert und jeder hat dieses Problem, soweit ich weiß ...

Unten ist auch ein Siebdruck meiner Ansicht:

Geben Sie hier die Bildbeschreibung ein

Hinweis: Für die Tabelle unter dem Diagramm verwende ich das Modul Ansichten Zeilen zusammenführen und es ist klar, dass in den beiden oberen Daten nicht " 0 fehlgeschlagen " oder " 0 bestanden " angezeigt wird (wie in der tabellarischen Anzeige meines ersten Siebdrucks gezeigt). musste ein korrektes Diagramm angezeigt werden.

EDIT: Ich habe hier und hier das gleiche Problem gefunden . Ich hoffe es hilft.

Wenn es eine Lösung wie im zweiten Link geben muss, dh die Ansicht so konstruieren muss, dass beide Serien immer alle Beschriftungen haben, bin ich offen dafür.

Antworten:


1

Schritt 1

Sie sind sich nicht sicher, ob es Ihr "einziges" Problem ist, Ihr Diagramm richtig zu machen, aber ein Teil Ihres Problems besteht ziemlich sicher darin, dass Ihre Daten "Löcher" aufweisen, ähnlich wie in Kommentar Nr. 12 der Ausgabe Nr. 2052429 beschrieben .

Über das Problem

Um zu verstehen, worum es bei diesem Problem mit "Loch" geht, betrachten Sie diese Daten als Diagramm:

Geben Sie hier die Bildbeschreibung ein

Beachten Sie, dass für den Artikel " Typen" und für Webform keine Zeile mit "Veröffentlicht = Nein" vorhanden ist ( dh , für diese Typen gibt es keine unveröffentlichten Knoten). In diesem Szenario haben wir also 2 sogenannte "Löcher" ... und das war der Anfang des Problems:

  • Problem 1 : Ein Säulendiagramm für diese Daten sieht folgendermaßen aus:

    Geben Sie hier die Bildbeschreibung ein

    Der Balken für "Artikel" (mit Wert 1) ist falsch. Dieser Balken bezieht sich tatsächlich auf den Wert 1 für unveröffentlichte "Buchseiten". Und die Leiste für "Buchseite" (mit Wert 2) sollte eigentlich die Leiste für die 2 unveröffentlichten "Basisseiten" sein.

  • Problem 2 : Ein Liniendiagramm für diese Daten sieht folgendermaßen aus:

    Geben Sie hier die Bildbeschreibung ein

    In diesem Fall weist die Zeile für "unveröffentlicht" ähnliche Probleme auf. Es spielt also keine Rolle, welche Art von Diagramm Sie erstellen, alle Diagramme haben dieses Problem.

So lösen Sie dieses Problem

Aktualisieren Sie zunächst auf die neueste Dev-Version (die viel besser / stabiler ist als die aktuelle rc1-Version). Wenden Sie dann den Patch an, der dem oben genannten Problemkommentar beigefügt ist, und prüfen Sie, ob dies in Ihrem Fall hilfreich ist. Wenn dies nicht der Fall ist, wissen Sie, dass dies mit Sicherheit eine Voraussetzung ist (ohne diesen Patch können Sie ihn nicht zum Laufen bringen). Achtung : Der Patch scheint nicht mehr auf die neueste Entwicklerversion zuzutreffen. Verwenden Sie nicht den oben genannten Patch, sondern den neu aufgerollten Patch , der in Kommentar Nr. 31 der Ausgabe Nr. 2052429 beigefügt ist, damit er (wieder) funktioniert .

So sieht das gleiche Säulendiagramm von oben aus, nachdem diese Korrektur angewendet wurde:

Geben Sie hier die Bildbeschreibung ein

Und das ist das entsprechende Liniendiagramm:

Geben Sie hier die Bildbeschreibung ein

... Was meiner Meinung nach das Diagramm ist, das genau mit den oben gezeigten Tabellendaten übereinstimmt.

Schritt 2

Wenn ein Upgrade auf die neueste Entwicklungsversion und das Anwenden des Patches nicht ausreichen, würde ich Ihnen empfehlen, das von Ihnen aktivierte Views Merge Rows- Modul (vorübergehend) zu deaktivieren . Und (vorübergehend) ändern Sie Ihre Ansicht, um die Werte für PASSED und FAILED als 2 getrennte Spalten anzuzeigen. Überprüfen Sie anschließend, ob Sie die richtigen Ergebnisse erhalten. Auf diese Weise können wir überprüfen, ob dieses Views Merge Rows-Modul der Schuldige ist (das Lösen von Supportanfragen bedeutet, alle möglichen Ursachen einzeln zu beseitigen ...).

Schritt 3

Wenn Schritt 2 auch nicht hilft, empfehle ich, was im "Bonus-Tipp" von Steps geschrieben steht, um Diagramme mithilfe der Benutzeroberfläche für Ansichten zu erstellen , dh:

Möglicherweise fällt es Ihnen leichter, mit einer "Tabellen" -Anzeige zu beginnen und diese nach dem Einrichten der Daten in eine Diagrammanzeige umzuwandeln. Es kann einfacher sein, das Ergebnis des Diagramms zu visualisieren, wenn es zuerst in einer Tabelle angeordnet wurde.

Mit anderen Worten: Bevor Sie versuchen, ein Diagramm zu erstellen, stellen Sie sicher, dass in der tabellarischen Version die richtigen Daten angezeigt werden.

Schritt 4

Wenn keiner der vorherigen Schritte hilft, können Sie das Ergebnis überprüfen, indem Sie Ihre Ansicht folgendermaßen korrigieren:

  • Erstellen Sie eine weitere Anzeige in derselben Ansicht. Nehmen wir an, Sie nennen sie " Runs Chart (Total) ". Es sollte allen Spezifikationen von " Runs Chart (Passed) " entsprechen, jedoch ohne den Filter " Content: Test Case Run Status (Passed) ". Offensichtlich wird es die Gesamtzahl der Läufe widerspiegeln (sowohl bestanden als auch nicht bestanden). Ich würde es zu einem "Liniendiagramm" machen (aber das ist eine Frage der persönlichen Vorlieben).
  • Passen Sie die " Karteneinstellungen " von " Runs Chart (Passed) " an, damit " Runs Chart (Total) " als übergeordnetes Diagramm verwendet wird.
  • Passen Sie die " Diagrammeinstellungen " von " Runs Chart (Failed) " an, damit " Runs Chart (Total) " als übergeordnetes Diagramm verwendet wird (anstelle von " Runs Chart (Passed) ").

Schritt 5

Wenn die Problemumgehung in Schritt 4 als Problemumgehung hilfreich ist, können Sie die Diagrammeinstellungen von " Laufdiagramm (Gesamt) " weiter verfeinern , indem Sie eine Farbe für das Liniendiagramm verwenden, die dem Hintergrund Ihres Diagramms entspricht (z. B. Weiß? ). Möglicherweise etwas Ähnliches für eine der Einstellungen wie "Legende" (wie auf  ?

Offenlegung: Ich bin Mitbetreuer des Charts-Moduls (+ Autor der Community-Dokumentation).
Ich hoffe, dass dies nicht gegen die Richtlinien der Website zur Eigenwerbung verstößt .


Hallo Pierre, ich habe diese 3 Schritte bereits ausprobiert. Wie ich bereits sagte, geht es darum, wie das Modul implementiert wird. Die x-Achse ist immer abhängig von der Anzahl der Beschriftungen des übergeordneten Diagramms.
Zephirus

Ich habe gerade "Schritt 4" hinzugefügt ... neugierig, ob das dazu beitragen kann, dass es in Ihrem Fall funktioniert ... Lassen Sie es mich wissen, ok?
Pierre.Vriens

Hallo Pierre, Schritt 4 ist eine gute Problemumgehung, löst aber immer noch nicht alles. Bei diesem Schritt habe ich keine "Löcher" in den Daten, da das übergeordnete Diagramm jede Beschriftung der x-Achse enthält. Aber es hat einen Preis: Ich habe eine Linie, die ich nicht zeigen möchte, und eine Legende. Anstatt das Statusfeld zu zählen, kann ich es summieren und die Zeile wird nicht angezeigt, aber die Legende ist immer noch da. Fazit: Es ist eine gute Problemumgehung, keine Lösung. Danke für deine Unterstützung.
Zephirus

Tolle Neuigkeiten zu Schritt 4! Ich habe gerade noch einen Versuch unternommen, dass Sie meine Antwort als (mehr oder weniger) akzeptabel betrachten ... Vielleicht hilft es auch, wenn Ihr Kopfgeld in ein paar Stunden nicht in den "Drupal.SE-Abfallbehälter" gelangt?
Pierre.Vriens

Hallo nochmal Pierre. Über Schritt 5. Das Ändern der Linienfarbe ist keine Lösung. Die Diagrammhöhe passt sich an, um die Linie anzuzeigen (auch wenn wir sie nicht sehen), und wenn wir Datenbeschriftungen haben, werden sie angezeigt. Mein Kommentar zur Problemumgehung ist in der Tat die bisher beste Lösung. Eine endgültige Lösung hierfür muss durch Ändern des Modulcodes erfolgen, es gibt keinen anderen Weg. Eines der Dinge, die in Zukunft möglich sein sollten, sind Einstellungen für das übergeordnete Diagramm und das Add-On-Diagramm. Ich werde Ihre Lösung mit den 5 Schritten trotzdem akzeptieren, da es im Moment die beste ist.
Zephirus

0

Ich glaube, Sie müssen die Ansicht so konstruieren, dass beide Serien immer alle Beschriftungen haben.

Dazu müssen Sie lediglich sicherstellen, dass das Feld "Zähle die Zahl 0 als leer" deaktiviert ist. Um dieses Feld zu finden, klicken Sie auf den Feldnamen, den Sie zählen, um die Konfigurationsüberlagerung aufzurufen. Wählen Sie "Kein Ergebnisverhalten" und stellen Sie sicher, dass das Kontrollkästchen "Zähle die Zahl 0 als leer" deaktiviert ist. "Ausblenden, wenn leer" sollte ebenfalls deaktiviert sein.

Behebt das Ihr Problem? Wenn nicht, wäre es hilfreich, wenn Sie Ihre Ansicht exportieren und veröffentlichen würden, oder zumindest den Abschnitt über das Feld, auf das Sie zählen.


Hallo Erin, das löst das Problem nicht. Stellen Sie sich vor, Sie haben 3 Knoten wie diesen (x, y): [a, 1] [a, 2] [c, 3]. Wenn Sie ein Diagramm in Ansichten erstellen, wird die Bezeichnung "b" niemals angezeigt, egal was passiert. Die Lösung muss in Diagrammen erfolgen. Wenn Sie die erste Anzeige des Typdiagramms haben, in der sich die Bezeichnungen a, b, d befinden. Wenn Sie dann eine zweite Anzeige des Typdiagramm-Add-Ons erstellen und die Daten nur Beschriftungen a, c, d haben, hat das endgültige Diagramm nur 3 Beschriftungen, die in der ersten Anzeige definiert sind. Es gibt eine Problemumgehung für dieses Problem, die jedoch impliziert, dass Sie zusätzliche Felder in der Datenbank erstellen.
Zephirus

Oh verdammt, ich habe die Frage total missverstanden. Es tut uns leid!
Erin McLaughlin

Hier finden Sie auch eine gute Erklärung für dieses Problem. Leider keine Lösung bis jetzt :(
Zephirus

Leider sieht es so aus, als würde ein Patch für das Modul benötigt, um das Problem zu beheben.
Erin McLaughlin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.