Gnuplot: verwenden von benutzerdefinierten Punkt-Formen, die mit der Legende Eintrag
Gnuplot bietet eine Reihe von Punkt-Stile zu verwenden, die in scatter-plots, wie zum Beispiel ein Kreuz, ein Stern, ein Quadrat, ein Kreis etc. Die verfügbaren point-Typen können gezeigt mithilfe der test
Befehl.
Jedoch für eine bestimmte Anwendung brauche ich verschiedene Symbole, und ich brauche Legende Einträge, die zeigen, dass diese Symbole.
Insbesondere, brauche ich mehr als vier Symbole, die dargestellt werden können, sowohl in der Kontur und im gefüllten Zustand (e. g. Dreiecke nach Links oder rechts zeigen, Parallelogramme oder nicht-quadratische Rechtecke).
Gibt es eine Reihe von Ansätzen zur Nutzung anderer Formen (jeweils mit einigen Anforderungen an das terminal, e. g. unicode-Unterstützung):
- die Verwendung von PNG-Bildern
- mit
set label '
für jeden Punkt, wo
' at 3,4
kann ersetzt werden durch jedes beliebige unicode-Zeichen, wie ◁, ▶,
plot ... with labels
usw.) - mit
using linespoints
und bietet ein unicode-Zeichen als label
Das problem bei all diesen Ansätzen ist, dass ich nicht bekommen kann eine richtige Legende (key) Eintrag mit dem symbol.
Ich als zeichnen der Legende selbst, aber es gibt zwei Gründe, warum ich nicht glaube, dass das machbar ist:
- Für das zeichnen der Legende rechts neben dem Diagramm (oder in der rechten unteren Ecke innerhalb des Diagramms), die ich brauchen würde, berechnen Sie die Breite der Legende, die abhängig von der schriftart.
- Einige der Grundstücke können sowohl eine Zeile und eine Punkte (wie
set label
für regelmäßige Gnuplot point-Typen), die beide angezeigt werden müssen, in der Legende.
Ich bin der Erzeugung der Gnuplot-Eingabe-Dateien programmgesteuert, so dass ein Ansatz, der explizit listet alle Punkte (wie die ▮ Ansatz oben erwähnt), oder dass erfordert einige calcuations, ist OK.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist nicht eine Antwort, denn ich werde Ihnen sagen, ändern Sie Ihre terminal ... ich weiß...
Es gibt keine Möglichkeit zum hinzufügen von Benutzer-definierten Punkt Form in gnuplot noch nicht, aber der PostScript-terminal ermöglicht über 70 verschiedene : http://www.cp.cmc.osaka-u.ac.jp/~fumiko/tips/gnuplot_pt.jpg
In der folgenden Diskussion, Sie behaupten, dass es keinen Allgemeinen Mechanismus zum hinzufügen von Benutzer-definierten Punkt zu geben. Und Sie kommen mit der Lösung, die Sie gab, die in Ihrer Frage.
https://groups.google.com/forum/?fromgroups=#!topic/comp.Grafik.apps.gnuplot/in57UNxG2o0
Ich denke, ein Weg, um Ihr Ziel zu erreichen, kann es sein,
Ich fürchte, ich habe das gleiche problem, also lassen Sie die Welt wissen, wenn Sie eine einfachere Lösung 🙂
3747 2576 CircleF
) verwenden Ihre eigene definition.wenn jemand will, um Durcheinander mit den postscritp route ist hier ein einfaches Beispiel:
Jedes symbol wird durch einen Namen (Siehe Tabelle, Pascali ' s Antwort) in die ps-Datei wie zum Beispiel :
Ersetzen Sie mit Ihrer eigenen definition: Dies ist ein Großbuchstabe Pi.
Diesem einfachen Beispiel müssen die zahlen (font-size)
optimiert für verschiedene Arten von plots..
Wenn Sie möchten, verwenden Sie Schriftarten, die nicht sind bekannt durch Ihre postscript-interpreter müssen Sie manuell an.
Ähnlich Pascail Antwort, Sie können dies auch mit SVG anstelle von Postscript.
SVG basiert auf XML und kann oder kann nicht einfacher zu verarbeiten als Postscript-Format (mit einer XML-Bibliothek). Es unterstützt auch unicode.