Torten- und Donut-Diagramme leer bzw. abgeschnitten

Bei mir werden Torten- und Donut-Diagramme häufig gar nicht bzw. nur abgeschnitten angezeigt.

Allerdings nicht unter Windows (wie in früheren Berichten, wo ggf. ein Bezug zum Internet Explorer die Ursache sein könnte), sondern mit der Linux-Version (Ubuntu). Egal, welchen Standard-Browser ich systemweit einstelle (habe es mit aktuellen Versionen von Firefox und Chromium ausprobiert): immer wieder bleiben Seiten weiß bzw. leer.

Mir ist aufgefallen, dass die Anzeige häufig funktioniert, wenn ich das GUI gerade frisch gestartet habe und in eins der Klassifizierungs-Menüs springe. Sobald ich aber ein- oder mehrmals die Seite gewechselt habe, bleiben die Chart-Seiten in den ANDEREN Kategorien leer. Das Zurückspringen in die zuerst aufgerufene Seite funktioniert meistens trotzdem noch. Es scheint also bei Seitenwechseln irgendetwas im Chart-Plugin kaputt zu gehen, vielleicht kommt es zu einem ungültigen Zustand. In der Fehlerkonsole sind aber keine Einträge zu finden.

Der (äußerst mühsame) Workaround besteht für mich zurzeit darin, über das Menü “GUI zurücksetzen” auszuführen, wenn ich ein Tortendiagramm brauche.

Ich nutze übrigens die 64-Bit-Version; die 32-Bit-Version startet nicht.

Anbei ein paar Screenshots; die Nummerierung entspricht der von mir verwendeten Navigationsreihenfolge zwischen den Seiten. Dabei ist ein interessanter Effekt zu beobachten: im Bild Nr. 1 sind die Anlagekategorien als Torte geöffnet; danach wird zur Donut-Ansicht gewechselt, aber die zeigt nur einen absgeschnittenen Teil des Graphen. Dann Wechsel zur Kapitalisierung, komplett ohne Erfolg. Rücksprung zu den Anlagekategorien; jetzt funktioniert dort die Torte nicht mehr, dafür aber der Donut.

In der Tat gibt es unter Linux bei den Tortendiagrammen Probleme - siehe auch diese Github Diskussion. Mir ist die Ursache ehrlich gesagt nicht ganz klar - vor allem weil keine Fehlermeldung ausgegeben wird mit der man loslegen könnte.

Interessant. Bei mir funktioniert es immer direkt nach einem Neustart. Aber nach ein paar Klicks sieht man nur noch hier und da Ecken.

1 Like

Hallo @AndreasB,

Irgendwas scheint mit der Skalierung der Diagramme nach dem Seitenwechsel nicht mehr zu funktionieren. Auf einigen kaputten Seiten sehe ich tatsächlich Inhalte, extrem klein in der linken oberen Ecke. Mit diesen Pixeln kann man sogar interagieren (z.B. durch Markierung). Nur auf die richtige Größe bekomme ich sie nicht wieder skaliert.

Ich könnte mir vorstellen, dass eine Höhe oder Breite von 100% angefordert werden, aber die Umrechnung in Pixel nicht funktioniert, weil z.B. der interne Web Browser durch den Seitenwechsel nicht richtig initialisiert ist.

Bildschirmfoto%20vom%202019-02-08%2010-28-01

Hallo @AndreasB,

es scheint tatsächlich an einer falschen Skalierung des Charts bzw. an der Nutzung einer „zu kleinen“ im Fenster zu liegen.

Mir ist gerade aufgefallen, dass ich die „defekte“ Anzeige wieder „repariert“ bekomme, wenn ich die Größe des linken (Menü-) und rechten (Diagramm-) Anzeigebereichs mithilfe des Splitters verändere.

Aus irgendeinem Grund scheint also ab der 2. Chart-Anzeige die Chart-Komponente ihre eigene Größe falsch zu ermitteln.

Falls es sich um eine HTML-Chart-Komponente handeln sollte, könnte es helfen, diese nicht sofort zu initialisieren, sondern erst bei einem entsprechenden Ready-Event der Web View (onLoad, DOMContentLoaded, …)

Seit gegrüßt Ihr Entwickler und Forumnutzer,

erstmalig melde ich mich hier zu Worte.
Das Programm ist wirklich klasse.

Ich habe aber folgendes oben schon angeführtes Problem mit meinen Rechnern.

Auf dem einen Rechner da geht das Torten- und Donutdiagramm gar nicht obwohl Internetexplorer 11 installiert ist.
Auch die sonstigen oben genannten Hinweise habe ich alle durchgeführt nichts hat geholfen.
Der Rechner ist ein win7 Rechner.

Auf meinem Notebook Win 8.1 geht das Tortendiagramm - das Donutdiagramm weigert sich hartnäckig.

Gibt es da event. noch andere Tricks die man anwenden kann um die Sachen zur Anzeige zu bringen?

Über eure Anregungen würde ich mich sehr freuen.

Helmut

1 Like

Geht mir unter Manjaro-Linux (Arch) genauso:

Klassifizierungen → Anlageart Gesamtportfolio → Tortendiagramm geht, Donut-Diagramm nicht :neutral_face:

Grüße,
Andreas

@digitus, @Helmuth: könnt Ihr bitte mal ausprobieren, was bei Euch passiert, wenn Ihr in der Donut-Diagramm-Ansicht die Fenstergröße verändert? Ich habe das PP-Fenster meistens maximiert. Bei mir ist es (abweichend von der eingangs geschilderten Situation) mittlerweile auch so, dass ich dann Tortendiagramme zuverlässig immer sehe und Donut-Diagramme gar nicht. Ändere ich allerdings die Fenstergröße, dann sehe ich beim Donut-Diagramme wieder abgeschnittene Diagramm-Fragmente wie dieses hier. Deswegen vermute ich nach wie vor, dass es sich um ein Problem bei der Dimensionierung der Zeichenflächen handelt.

1 Like

Skurril. Ist bei mir auch so, wobei mein Ausschnitt viel kleiner ist:

Ich verlinke einmal diese Antwort von @AndreasB @ Donut Charts / Klassifizierungen werden nicht mehr angezeigt · Issue #1290 · portfolio-performance/portfolio · GitHub

Der Kommentar aus dem PP Forum gilt weiterhin.

Die Donut (oder Kuchendiagramme) werden per HTML in einen embedded Browser gezeichnet, das Schichtendiagramm nativ (ohne Browser). Es wundert mich also nicht wenn das zweite tut obwohl das erste nicht tut.

Aber warum tut das Kuchendiagramm nicht. Für das “embedding” des Browsers wird der Internet Explorer verwendet. Also nicht Edge. Oder andere Browser. Genau nur der Internet Explorer. Die letzte Version war wohl Version 11. Den hast Du installiert?

Dann geht vielleicht was schief beim “embedding”… dazu wäre interessant die “.log” Datei zu haben (richtig. Die fängt mit einem Punkt an und hat dann nur die Datei Endung “log”). Such mal in dem Workspace Verzeichnis.

‐---------

Wo und wie hast Du PP denn installiert?

Es scheint sich um ein Berechtigungsproblem zu handeln. PP (beziehungsweise das Framework) packt Dateien aus um dem Browser Zugriff zu geben. Das geht schief. Siehe Fehlermeldungen unten.

Probiert mal PP “als Administrator” zu starten. Oder irgendwo das PP Installations-ZIP auspacken und von da starten. (Ich kenne mich mit den Berechtigungen unter Windows nicht so gut aus).

Das kenne ich schon … :slight_smile:

Ich bin bloß unter Linux (Manjaro/Arch) unterwegs … auf welchen Browser wird da zugegriffen?

Grüße,
Andreas

@Ragas, ich glaube auch, dass es sich da um ein unabhängiges Problem handelt/handelte. Bei @digitus und bei mir scheint es ja gerade kein grundsätzliches Problem bei der Browser-Ansprache zu sein. Prinzipiell wird ja gezeichnet. Nur eben auf eine falsch dimensionierte Fläche. Der sichtbare Ausschnitt des Diagramms scheint auch korrekt gezeichnet zu werden.

1 Like

Gruß
Marco :wink:

Das Problem habe ich auch. Größenänderungen ändern bei mir nichts, es erscheint nur ein kleiner Ausschnitt des Donuts (linke obere Ecke).
Ich hab mal ein bisschen rum gespielt und folgendes festgestellt:
Normalerweise sehe ich mir die Tortendiagramme an, wenn ich dann auf Donut-Darstellung klicke, erscheint das Dunutfragment. Wenn ich jetzt eine andere Klassifizierung wähle und dann zurück zu vorherigen gehe, wird das Donut-Diagramm korrekt angezeigt und die Darstellung bleibt korrekt, auch wenn ich auf Torte und dann wieder auf Donut gehe.

Ich verwende auf den meisten Rechnern Gentoo Linux, auf einigen auch Debian, Manjaro und einige andere. Desktop Environment ist immer Mate und als Window-Manager meistens Sawfish. Immer der aktuelle Stable Kernel (z.Z. also 5.4.13).

Hoffe, das hilf etwas weiter.

Wünsche ein schönes Wochenende!

2 Likes

@Platinumviper kann ich so reproduzieren/bestätigen für Ubuntu 19.04

Das kann ich auch reproduzieren.

Damit dürfte die Hypothese, dass es am verknüpften externen Browser liegt, aber vom Tisch sein, oder?

Grüße und gute Nacht,
Andreas

Was das Problem eint ist Linux, daher scheint es an der Java Implementierung für diese Plattform zu liegen. Aufschlussreich wären die Logs…

Wie kann ich Dir die schicken?

!SESSION 2020-01-20 18:26:42.722 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_232
java.vendor=Private Build
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de
Command-line arguments:  -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.equinox.app 4 2 2020-01-20 18:26:45.394
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.equinox.app".
!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/swt/accessibility/AccessibleObject
	at org.eclipse.equinox.launcher.JNIBridge._takedown_splash(Native Method)
	at org.eclipse.equinox.launcher.JNIBridge.takeDownSplash(JNIBridge.java:173)
	at org.eclipse.equinox.launcher.Main.takeDownSplash(Main.java:2219)
	at org.eclipse.equinox.launcher.Main$SplashHandler.run(Main.java:120)
	at org.eclipse.core.runtime.internal.adaptor.DefaultStartupMonitor.applicationRunning(DefaultStartupMonitor.java:70)
	at org.eclipse.equinox.internal.app.EclipseAppHandle$1.run(EclipseAppHandle.java:271)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.applicationRunning(EclipseAppHandle.java:261)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1108)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:165)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:199)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:391)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1474)
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.accessibility.AccessibleObject
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	... 26 more

!ENTRY name.abuchen.portfolio.ui 4 0 2020-01-20 18:27:20.605
!MESSAGE Warnung: Veränderung ohne Kapital: 5,00 am 30.10.2019
!STACK 0
java.lang.RuntimeException: Warnung: Veränderung ohne Kapital: 5,00 am 30.10.2019
	at name.abuchen.portfolio.snapshot.ClientIndex.calculate(ClientIndex.java:85)
	at name.abuchen.portfolio.snapshot.PerformanceIndex.forClient(PerformanceIndex.java:73)
	at name.abuchen.portfolio.snapshot.PerformanceIndex.forClassification(PerformanceIndex.java:102)
	at name.abuchen.portfolio.ui.views.dataseries.DataSeriesCache.calculate(DataSeriesCache.java:118)
	at name.abuchen.portfolio.ui.views.dataseries.DataSeriesCache.lookup(DataSeriesCache.java:65)
	at name.abuchen.portfolio.ui.views.dataseries.StatementOfAssetsSeriesBuilder.build(StatementOfAssetsSeriesBuilder.java:21)
	at name.abuchen.portfolio.ui.views.StatementOfAssetsHistoryView.lambda$3(StatementOfAssetsHistoryView.java:113)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at name.abuchen.portfolio.ui.views.StatementOfAssetsHistoryView.createBody(StatementOfAssetsHistoryView.java:113)
	at name.abuchen.portfolio.ui.views.StatementOfAssetsHistoryView.createBody(StatementOfAssetsHistoryView.java:1)
	at name.abuchen.portfolio.ui.editor.AbstractFinanceView.createViewControl(AbstractFinanceView.java:127)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.createView(PortfolioPart.java:522)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:492)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:480)
	at name.abuchen.portfolio.ui.editor.ClientEditorSidebar$1.select(ClientEditorSidebar.java:68)
	at name.abuchen.portfolio.ui.editor.ClientEditorSidebar$1.select(ClientEditorSidebar.java:1)
	at name.abuchen.portfolio.ui.editor.Sidebar$Entry.handleMouseDown(Sidebar.java:389)
	at org.eclipse.swt.events.MouseListener$2.mouseDown(MouseListener.java:96)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:196)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5797)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1374)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5051)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4583)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:165)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:199)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:391)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1474)

!ENTRY name.abuchen.portfolio.ui 4 0 2020-01-20 18:27:29.147
!MESSAGE Warnung: Veränderung ohne Kapital: 5,00 am 30.10.2019
!STACK 0
java.lang.RuntimeException: Warnung: Veränderung ohne Kapital: 5,00 am 30.10.2019
	at name.abuchen.portfolio.snapshot.ClientIndex.calculate(ClientIndex.java:85)
	at name.abuchen.portfolio.snapshot.PerformanceIndex.forClient(PerformanceIndex.java:73)
	at name.abuchen.portfolio.snapshot.PerformanceIndex.forClassification(PerformanceIndex.java:102)
	at name.abuchen.portfolio.ui.views.dataseries.DataSeriesCache.calculate(DataSeriesCache.java:118)
	at name.abuchen.portfolio.ui.views.dataseries.DataSeriesCache.lookup(DataSeriesCache.java:65)
	at name.abuchen.portfolio.ui.views.dashboard.ChartWidget.lambda$1(ChartWidget.java:239)
	at java.util.ArrayList.forEach(ArrayList.java:1257)
	at name.abuchen.portfolio.ui.views.dashboard.ChartWidget.lambda$0(ChartWidget.java:239)
	at name.abuchen.portfolio.ui.views.dashboard.DashboardView$CalculateWidgetDataRunnable.run(DashboardView.java:224)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

!ENTRY name.abuchen.portfolio.ui 4 0 2020-01-20 18:27:29.158
!MESSAGE Warnung: Veränderung ohne Kapital: 5,00 am 30.10.2019
!STACK 0
java.lang.RuntimeException: Warnung: Veränderung ohne Kapital: 5,00 am 30.10.2019
	at name.abuchen.portfolio.snapshot.ClientIndex.calculate(ClientIndex.java:85)
	at name.abuchen.portfolio.snapshot.PerformanceIndex.forClient(PerformanceIndex.java:73)
	at name.abuchen.portfolio.snapshot.PerformanceIndex.forAccount(PerformanceIndex.java:81)
	at name.abuchen.portfolio.ui.views.dataseries.DataSeriesCache.calculateAccountPretax(DataSeriesCache.java:173)
	at name.abuchen.portfolio.ui.views.dataseries.DataSeriesCache.calculate(DataSeriesCache.java:114)
	at name.abuchen.portfolio.ui.views.dataseries.DataSeriesCache.lookup(DataSeriesCache.java:65)
	at name.abuchen.portfolio.ui.views.dashboard.DashboardData.calculate(DashboardData.java:142)
	at name.abuchen.portfolio.ui.views.dashboard.WidgetFactory.lambda$4(WidgetFactory.java:47)
	at name.abuchen.portfolio.ui.views.dashboard.IndicatorWidget.lambda$1(IndicatorWidget.java:129)
	at name.abuchen.portfolio.ui.views.dashboard.DashboardView$CalculateWidgetDataRunnable.run(DashboardView.java:224)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Logs sind entstanden mit

--launcher.GTK_version
3

Mit einer 2 darin, sieht man auch keine abgeschnittenen Torten.

Alles mit

:~$ java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-0ubuntu1~18.04.1-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

N’Abend,
ich hol das mal nach oben:
Ich habe auch das Problem, das die donut-Ansicht unter Asset-Classes komplett leer ist.

Aktuelles System:
Version: 0.49.3 (Nov. 2020)
Platform: linux, x86_64
Java: 11.0.9.1+1-Ubuntu-0ubuntu1.18.04, Ubuntu

Gruß
Stefan

Gibt es bereits eine Lösung für die Torten in Linux? Denn bei mir ist es auch noch immer so, dass ich das erste mal die Torte sehe (Berichte → Bestände), aber wenn ich im zweiten Depot versuche diese aufzurufen, dann bleibt es leer. Erst nach einem Programm Neustart kann ich dann im 2. Depot die Torte anzeigen lassen, sehe sie dann aber im ersten Depot dafür nicht.

Das ist irgendwie nervig! Scheint aber definitiv nicht an Linux oder der Java Implementierung zu liegen, weil sonst würde es ja niemals funktionieren. So aber geht es bei ersten Aufruf einer Torte und danach bis zum Programmneustart nicht mehr. Das ist ziemlich sicher ein Programm-Bug …
cu ITO