Simple Science

Hochmoderne Wissenschaft einfach erklärt

# Computerwissenschaften# Graphik

Ein neuer Ansatz für die Beschriftung von Diagrammen

Ein effizientes Bitmap-Verfahren zur automatischen Platzierung von Labels in Diagrammen.

― 7 min Lesedauer


EffizienteEffizienteDiagrammbeschriftungsmethodeDiagramme einfacher.Beschriftungsprozess für verschiedeneDie Bitmap-Technik macht den
Inhaltsverzeichnis

Beim Erstellen von Diagrammen ist es wichtig, dass die Beschriftungen leicht lesbar sind und nicht mit anderen Beschriftungen oder Grafiken überlappen. Das wird zu einer grossen Herausforderung, wenn es viele Datenpunkte in einem Diagramm gibt. Wenn jemand die Beschriftungen von Hand für jeden Punkt platzieren würde, wäre das sehr zeitaufwendig.

Um das einfacher zu machen, brauchen wir ein System, das automatisch die Beschriftungen für Diagramme mit vielen Datenpunkten anordnen kann. Die neuesten Methoden verwenden komplizierte Techniken, um herauszufinden, wo die Beschriftungen platziert werden können, ohne dass sie sich überlappen. Allerdings können diese Methoden langsam und kompliziert sein, besonders wenn es viele Markierungen gibt oder wenn die Markierungen gross sind.

In dieser Arbeit stellen wir eine neue Methode vor, um Beschriftungen mit einem Bitmap-Verfahren zu platzieren. Ein Bitmap ist ein Raster, das uns hilft, den Ort der Markierungen zu verfolgen. Indem wir die Markierungen in ein Bitmap-Format rasterisieren (oder umwandeln), basierend auf dem Platz, den sie im Diagramm einnehmen, können wir schnell sehen, wo wir die Beschriftungen platzieren können, ohne Überlappungen zu verursachen.

Dieses Bitmap-System ermöglicht es uns, die Beschriftungen effizient zu platzieren, egal ob es viele Markierungen gibt oder ob die Markierungen komplizierte Formen haben. Es funktioniert schneller als die früheren Methoden und erzielt ähnliche Ergebnisse in Bezug auf die Anzahl der platzierten Beschriftungen.

Bedeutung von Textbeschriftungen

Textbeschriftungen helfen, Details zu bestimmten Datenpunkten in Diagrammen bereitzustellen. Um Klarheit zu gewährleisten, dürfen diese Beschriftungen nicht mit anderen grafischen Elementen überlappen. Da das manuelle Platzieren von Beschriftungen viel Zeit in Anspruch nehmen kann, wurde in früheren Forschungen nach automatischen Beschriftungsmethoden gesucht.

Allerdings hängt die Positionierung der Beschriftungen oft von der Platzierung anderer Beschriftungen ab, weshalb es sehr schwierig sein kann, die perfekte Anordnung zu finden. Das Problem wird noch schwieriger, wenn wir berücksichtigen, dass einige Methoden lange Laufzeiten haben können, besonders in interaktiven Anwendungen.

Um die Dinge zu beschleunigen, verwenden einige Algorithmen eine einfachere Methode, die als gieriger Ansatz bezeichnet wird. Das bedeutet, dass sie schnell bevorzugte Positionen für jede Beschriftung finden und sie dort platzieren, wenn die Stellen frei sind. Wenn alle Optionen zu Überlappungen führen, wird diese spezielle Beschriftung übersprungen. Diese Methode ist viel schneller, hat aber immer noch Schwierigkeiten festzustellen, ob die Beschriftungen überlappen.

Effiziente Überlapplungserkennung

Eine einfache Methode, um auf Überlappungen zu überprüfen, besteht darin, die Position einer neuen Beschriftung mit all den vorhandenen Beschriftungen zu vergleichen. Dieser Ansatz kann jedoch sehr langsam werden, wenn es viele Datenpunkte in einem Diagramm gibt.

Eine schnellere Methode namens partikelbasiertes Etikettieren betrachtet Gruppen von Punkten, die als Partikel bekannt sind, um auf Überlappungen zu überprüfen. Diese Strategie funktioniert gut für kleine Formen wie Punkte in einem Streudiagramm, kann jedoch viele Berechnungen für grössere Formen erfordern.

Unser Ziel ist es, die Algorithmen zur Platzierung von Beschriftungen schneller und effizienter zu machen, indem wir verbessern, wie wir auf Überlappungen überprüfen. Wir stellen unser Bitmap-System als eine neue Methode vor, um Überlappungen im Auge zu behalten und das Beschriften verschiedener Diagrammtypen zu erleichtern.

Bitmap für schnellere Beschriftungsplatzierung

Das Belegungs-Bitmap ist ein Werkzeug, das schnell hilft zu erkennen, ob eine neue Beschriftung mit vorhandenen Markierungen überlappt. Das Bitmap ist ein zweidimensionales Raster, bei dem jeder Spot uns sagt, ob er besetzt ist. Der Clou dieses Systems ist, dass es uns ermöglicht, schnelle Überprüfungen durchzuführen, um zu sehen, ob eine Beschriftung an einer bestimmten Stelle platziert werden kann.

Wenn wir die Markierungen in das Bitmap rasterisieren (oder ein Bild erstellen), können wir schnell überprüfen, ob Plätze für neue Beschriftungen verfügbar sind. Die Geschwindigkeit der Überprüfung auf Überlappungen ist gut, weil sie nur von der Grösse des Diagramms und der Beschriftung abhängt, nicht von der Komplexität oder der Anzahl der vorhandenen Markierungen.

Dieser neue Bitmap-Ansatz macht es einfach zu sehen, ob ein Platz für eine Beschriftung verfügbar ist und ihn nach dem Platzieren einer Beschriftung als besetzt zu markieren. Das bedeutet, dass wir schnell überprüfen und die Plätze aktualisieren können, wenn neue Beschriftungen hinzugefügt werden.

Anwendung der Bitmap-Methode

Wir haben unsere Bitmap-Beschriftungsmethode an verschiedenen Arten von Diagrammen getestet, einschliesslich Streudiagrammen, Liniendiagrammen und Karten. Der Algorithmus funktioniert, indem er zuerst alle Markierungen in das Bitmap rasterisiert und dann alle Beschriftungen auf einmal platziert.

Für Streudiagramme und verbundene Streudiagramme verwenden wir das Bitmap, um zu überprüfen, ob die möglichen Positionen rund um die Markierungen verfügbar sind. In Liniendiagrammen platzieren wir eine Beschriftung am Ende jeder Linie. Bei Karten nutzen wir erneut das Bitmap, um zu überprüfen, ob die möglichen Positionen frei sind.

Vergleich mit anderen Methoden

Um zu sehen, wie gut unsere Bitmap-Methode im Vergleich zu bestehenden Ansätzen abschneidet, haben wir sie mit partikelbasiertem Etikettieren auf einer Karte verglichen, die viele Flughäfen und deren Verbindungen beinhaltete. Unser Bitmap-Algorithmus hat durchweg besser abgeschnitten, war mindestens 22 % schneller, während er eine ähnliche Anzahl von Beschriftungen platzierte.

Beschriftung in gestapelten Flächendiagrammen

In gestapelten Flächendiagrammen können Beschriftungen überall innerhalb des Bereichs platziert werden, den sie darstellen, aber es ist eine gute Strategie, sie in offeneren Bereichen zu haben. Wenn eine Beschriftung nicht genügend Platz im Inneren hat, kann sie ein bisschen nach aussen ragen, solange sie nicht mit anderen Beschriftungen überlappt und das Zentrum der Beschriftung innerhalb des Bereichs liegt.

Um Beschriftungen in gestapelten Flächendiagrammen zu platzieren, verwenden wir einen anderen Algorithmus, der auf dem Bitmap basiert, sich aber auf den Bereich selbst konzentriert. Zuerst rasterisieren wir die Grenzen der Bereiche in das Bitmap. Dann suchen wir in den möglichen Stellen innerhalb dieser Bereiche nach Plätzen für die Beschriftungen.

Wir erkunden zwei Methoden, um diese Stellen zu finden: eine, die alle Pixel innerhalb des Bereichs für die beste Platzierung betrachtet, und eine andere, die die Suche basierend auf den Datenpunkten eingrenzt, die den Bereich definieren. Der zweite Ansatz ist schneller, findet aber möglicherweise nicht immer den besten freien Platz um jede Beschriftung.

Integration in Vega

In Vega ist unser Beschriftungsalgorithmus als Transformation integriert, die die Textmarkierungen umarrangiert, um sicherzustellen, dass keine Überlappungen auftreten. Dies geschieht mit drei Hauptteilen: der Definition der Basismarkierungen, den Textmarkierungen, die die Beschriftungen darstellen, und der Verknüpfung dieser durch reaktive Geometrie, die es dem Text ermöglicht, Informationen von den Basismarkierungen abzuleiten.

Integration in Vega-Lite

In Vega-Lite fügen wir Beschriftungen als Kodierungskanäle hinzu, anstatt über eine Transformation. Diese Designwahl macht es für die Benutzer einfacher, Beschriftungen hinzuzufügen, da sie nicht über die komplexen inneren Abläufe von Vega Bescheid wissen müssen. Beschriftungen können wie ein weiteres Merkmal der Markierungen behandelt werden, ähnlich wie Farbe oder Position.

Standardverhalten und Konfiguration

Wir stellen sicher, dass der Beschriftungsprozess benutzerfreundlich ist, indem wir Standardverhalten je nach Art der verwendeten Markierung bereitstellen. Zum Beispiel werden Beschriftungen für Balkenmarkierungen am Ende der Balken platziert, während Beschriftungen für Punkte und andere Formen in der Nähe dieser Punkte platziert werden.

Die Einrichtung ermöglicht es den Benutzern, festzulegen, wie weit die Beschriftungen sich erstrecken können, und wir integrieren verschiedene Methoden, wie die Beschriftungen angeordnet werden. Die Auswahl der Methoden und deren Konfigurationen hilft den Benutzern, ihre Diagramme für bessere visuelle Klarheit anzupassen.

Fazit und zukünftige Richtung

Wir haben das Belegungs-Bitmap als neue Methode eingeführt, um schnell Überlappungen zwischen Beschriftungen und anderen grafischen Markierungen in Diagrammen zu erkennen. In Kombination mit unserem gierigen Beschriftungsalgorithmus funktioniert diese Methode gut über verschiedene Diagrammtypen hinweg.

Wir zeigen, dass unser bitmap-basierter Algorithmus schneller läuft als die vorherigen Methoden und gleichzeitig eine effektive Anzahl von Beschriftungen platziert. Durch die Integration unseres Beschriftungssystems in Vega und Vega-Lite haben wir es den Benutzern leichter gemacht, klare Visualisierungen zu erstellen, ohne sich um Beschriftungsüberlappungen kümmern zu müssen.

Zukünftige Arbeiten könnten die Anwendung dieser Bitmap-Technik auf andere Diagrammtypen umfassen, die unterschiedliche Platzierungsstrategien benötigen. Wir streben an, interaktive Erfahrungen zu verbessern, indem wir optimieren, wie Beschriftungen während Aktionen wie Zooming und Panning gerendert werden, um Klarheit und Geschwindigkeit für Benutzer mit grösseren Datensätzen zu gewährleisten.

Originalquelle

Titel: Legible Label Layout for Data Visualization, Algorithm and Integration into Vega-Lite

Zusammenfassung: Legible labels should not overlap with other labels and other marks in a chart. When a chart contains a large number of data points, manually positioning these labels for each data point in the chart is a tedious task. A labeling algorithm is necessary to automatically layout the labels for a chart with a large number of data points. The state-of-the-art labeling algorithm detects overlaps using a set of points to approximate each mark's shape. This approach is inefficient for large marks or many marks as it requires too many points to detect overlaps. In response, we present a bitmap-based label placement algorithm, which leverages an occupancy bitmap to accelerate overlap detection. To create an occupancy bitmap, we rasterize marks onto a bitmap based on the area they occupy in the chart. With the bitmap, we can efficiently place labels without overlapping existing marks, regardless of the number and geometric complexity of the marks. This bitmap-based algorithm offers significant performance improvements over the state-of-the-art approach while placing a similar number of labels. We also integrate this algorithm into Vega-Lite as one of its encoding channels, label encoding. Label encoding allows users to encode fields in each data point with a text label to annotate the mark that represents the data point in a chart.

Autoren: Chanwut Kittivorawong

Letzte Aktualisierung: 2024-08-02 00:00:00

Sprache: English

Quell-URL: https://arxiv.org/abs/2405.10953

Quell-PDF: https://arxiv.org/pdf/2405.10953

Lizenz: https://creativecommons.org/licenses/by/4.0/

Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.

Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.

Mehr vom Autor

Ähnliche Artikel