Custom Boxplots mit PGF Plots

Tabellen und Grafiken erstellen und anordnen


BlackDevil
Forum-Century
Forum-Century
Beiträge: 107
Registriert: Di 23. Jul 2013, 11:38
Wohnort: Deutschland

Custom Boxplots mit PGF Plots

Beitrag von BlackDevil »

Ahoi :)

Ich habe ein etwas komplizierteres Vorhaben und ich finde per google keine wirkliche Antwort ... das ganze muss nicht mit PGF Plots erstellt werden, andere (freie) Tools tuns auch. Ich möchte und kann nur nicht ewig an der Darstellung sitzen. Ich hoffe dennoch, dass das möglich ist.

Was ich vorhabe:
Bild

In Worten:
Ich habe 10 Modelle die alle etwas anderes darstellen und mehr oder weniger gut funktionieren. Wie gut sie funktionieren möchte ich in einem Boxplot darstellen (in diesem Fall nehme man die oben genannte Grafik und entferne den jeweils rechten Boxplot bei jedem Modell). Als nächstes werden die Modelle verändert. Um nun die neue mit der alten Version zu vergleichen möchte ich wieder Boxplots verwenden, idealerweise so wie in der Grafik oben angezeigt.

Ist das irgendwie zu verwirklichen!? Die Daten sind hier ja nicht das Problem, auch ein *.dat File wäre kein Problem (für PGFPlots). Nur das Zusammenzimmern bereitet mir kopfschmerzen ...

Vielleicht hat ja jemand eine Idee :)


Edit: Ich weiß nicht warum, aber ich habe im Manual die Boxplots völlig übersehen. PGFPlots kann Boxplots also von Hause aus - okay. Kann ich die nun so manipulieren das sie wie in der obigen Grafik sind? draw position wird keine Lösung sein.

BlackDevil
Forum-Century
Forum-Century
Beiträge: 107
Registriert: Di 23. Jul 2013, 11:38
Wohnort: Deutschland

Beitrag von BlackDevil »

Ahoi

in der Zwischenzeit konnte ich herausfinden, das es einen Workaround gibt etwas ähnliches in Matlab zu erreichen ...

feuersaenger
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 91
Registriert: Mi 5. Okt 2011, 18:24
Wohnort: Rheinbach

Beitrag von feuersaenger »

Hallo,

Deinem letzten Kommentar entnehme ich, dass Deine Frage nicht mehr aktuell ist, richtig?

Ansonsten: ja, pgfplots kann das mit der statistics library. Damit die Paare jeweils direkt nebeneinander liegen muesste man mit draw position und der Weite fuer jede x unit spielen.

Falls Du das noch machen moechtest schlage ich vor, dass Du das mal ausprobierst und bei Fragen mit dem zugehoerigen Minimalbeispiel hier weiterfragst.

BlackDevil
Forum-Century
Forum-Century
Beiträge: 107
Registriert: Di 23. Jul 2013, 11:38
Wohnort: Deutschland

Beitrag von BlackDevil »

Ich erkenne eine gewisse Ähnlichkeit zwischen deinem Nicknamen und dem Namen des PGF-Autors - Zufall?

Ganz geklärt ist es nicht, da es mich schon interessieren würde wie es mit PGFPlots geht.

Ich habe schon mal etwas mit den von dir genannten Werten gespielt aber nicht so richtig das Ergebnis hinbekommen. Was ich mich auch noch Frage ist, wie ich Daten aus einer Tabelle in die Boxplot Syntax bekomme. Und wie ich das für mehrere Boxplots mache :D


Ich weiß noch nicht ob ichs mit Matlab oder PGFPlots machen will. PGFPlots hat seine Vorteile, sehen die Grafiken doch immer gut aus. Matlab hingegen wäre einfacher. Ich weiß abre auch noch nicht wie ich die Daten verarbeite - ob mit Qlikview oder Matlab.

feuersaenger
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 91
Registriert: Mi 5. Okt 2011, 18:24
Wohnort: Rheinbach

Beitrag von feuersaenger »

Ich bin der Author des Pakets, gut erkannt!

Das Einlesen von Daten aus einer Tabelle ist dafuer ausgelegt, dass pgfplots auch selber den boxplot ausrechnet (also die statistik macht). Wenn man die Daten eingibt rechnet das boxgroesse + eventuelle outlier aus und visualisiert die.

Es ist aktuell nicht vorgesehen, dass vorberechnete statistiken fuer mehrere Boxplots aus einer Tabelle gelesen werden. Im Grunde liesse sich das aber einfach durch simples skript (in TeX) machen (das man vielleicht auch mit pgfplots mitliefern koennte). Wenn Du sowas brauchst brauechte ich wiederum eine Vorstellung, was in so einer Tabelle Deiner Erfahrung nach denn drinstehen wuerde.

Zu dem "aber nicht so richtig das Ergebnis hinbekommen": wenn Du den code, den Du aktuell hast (und die Daten dazu) hier einstellst koennen wir experimentieren.

Mit liebem Gruss

Christian

BlackDevil
Forum-Century
Forum-Century
Beiträge: 107
Registriert: Di 23. Jul 2013, 11:38
Wohnort: Deutschland

Beitrag von BlackDevil »

Hey

ich habs nicht vergessen - ich hab nur keine Zeit im Moment :D Ich denke, dass ich mich nächste Woche mit den Boxplots beschäftigen werde.

Ich melde mich dann wieder :)

BlackDevil
Forum-Century
Forum-Century
Beiträge: 107
Registriert: Di 23. Jul 2013, 11:38
Wohnort: Deutschland

Beitrag von BlackDevil »

Ahoi

das Ganze hat sich erledigt. Warum? Weil die Software wider Erwarten die Funktionalität, die ich bewerten wollte, nicht kann :roll: Janz großes Kino.

Nichts desto trotz bleibt die Frage nach dem Erstellen der Boxplots. Mir ist es jetzt egal ob ich Matlab oder PGF nutze. Matlab in Kombination mit Matlab2Tikz wäre einen ticken komfortabler.

Nun - vielleicht geht es ja auch elegant mit PGFPlots?

Zur Erinnerung: Ich habe Matrizen mit einer maximalen Breite von 48 und einer unbekannten Länge (meist 100.000+ Zeilen). Die Berechnung sollte ich wohl lieber Matlab überlassen, oder?

Grüße

feuersaenger
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 91
Registriert: Mi 5. Okt 2011, 18:24
Wohnort: Rheinbach

Beitrag von feuersaenger »

Hallo,

eine Matrix der Art 47 x 100000 ist jenseits dessen, was pgfplots handhaben kann, ja.

Wenn Du aus entsprechenden Daten boxplots machen willst, kannst Du also entweder auf 'boxplot prepared' mit pgfplots arbeiten, oder aber matlab2tikz (was boxplots glaube ich "von Hand" baut). Oder Du fragst bei dem Author von matlab2tikz nach, ob er die mit 'boxplot prepared' bauen kann. Dann koennte man dafuer global leichter styles angeben.

Du kannst es ja mal ausprobieren und ggf. mit konkreten Fragen und Deinem Prototyp hier nachfragen.

Mit liebem Gruss

Christian

BlackDevil
Forum-Century
Forum-Century
Beiträge: 107
Registriert: Di 23. Jul 2013, 11:38
Wohnort: Deutschland

Beitrag von BlackDevil »

Hallo und Danke :) ja, ich mache es jetzt mit Matlab und Matlab2Tikz. Wobei Matlab noch etwas klemmt, evtl bau ich mir eine eigene Funktion ...

Antworten