Knotentext außerhalb des pgfplot-Achsenbereichs sichtbar machen

Knotentext außerhalb des pgfplot-Achsenbereichs sichtbar machen

Ich verwende matlab2tikz, um pgfplots .tex-Code zu generieren, um eine Abbildung mit pdflatex zu erstellen. Die Matlab-Funktion, die ich zum Erstellen der Abbildung verwende, erstellt jedes ihrer Häkchenbeschriftungen explizit, sodass sie mit dem folgenden Matlab-Code skaliert und gedreht werden können:

text(x(k),y(k),labs{k},'horizontalalignment',horizk,...
'verticalalignment',vertk, ...
'rotation',rotang(k), ...
'fontsize',gfontsize*scl(k), ...
'color',gcolor, ...
'tag','m_grid_xticklabel', ...
'fontname',gfontname);

Wenn ich den konvertierten .tex-Code untersuche, sehe ich Folgendes

\node[below, inner sep=0mm, rotate=359.994889043193, text=black]
at (axis cs:-8.79858922562881e-07,  -4.84813663392814e-06,0) {$\text{  81}^\text{o}\text{W }$};

stellt eine einzelne Teilstrichbeschriftung dar. Die Textzeichenfolge, die diese Zeile codiert, erscheint jedoch nicht in der resultierenden PDF-Datei, vermutlich weil die betreffenden Koordinaten außerhalb der Achsenbereiche liegen. Um dies zu testen, habe ich Koordinaten innerhalb des Bereichs eingesetzt, kompiliert und gesehen, dass die Beschriftung oder der Text dann sichtbar wurde.

Interessanterweise, wenn ich die Figur in Matlab mit dem View-Befehl erstelle, z. B.

view(45,45)

Ich kann die Textzeichenfolgen sehen, die die Achsenbeschriftungen darstellen, aber die Ausrichtung ist falsch. Insbesondere scheinen die Zeichenketten einen Y-Wert zu haben, der sie viel weiter oben in der Abbildung platziert, als ich erwartet habe. Ich denke, dass die X-Ausrichtung in Ordnung ist.

Die Lösungen, wie ich sie sehe, können entweder auf der Matlab-Seite oder auf der pgfplots/tikz-Seite liegen. Idealerweise würde eine Lösung aus einem kurzen Codestück bestehen, das in die Präambel oder beim Einrichten der Achsenbeschriftungen eingefügt wird. Dieser Code würde Text ermöglichen, der mit der Konstruktion erstellt wurde:

\node[<options>] at (axis cs:x,y,z) {<text>};

angezeigt werden, unabhängig davon, ob die Koordinaten x, y, z im Bereich liegen. Wenn Vorschläge nicht unbedingt leicht zustande kommen, kann ich ein MWE erstellen.

Antwort1

clip=falseDurch das Hinzufügen von axisUmgebungsoptionen wird das Standardverhalten überschrieben, pgfplotsbei dem alles abgeschnitten wird, was außerhalb des Begrenzungsrahmens der Achse erscheint.

Abhängig vom anderen generierten Code kann dies andere Nebenwirkungen haben, in den meisten Fällen ist es jedoch in Ordnung.

Diese Schlüsseleinstellung kann dem generierten Code mithilfe der Funktion matlab2tikzvon hinzugefügt werden. Fügen Sie EXTRAAXISOPTIONSvor dem Aufruf von hinzumatlab2tex

EXTRAAXISOPTIONS = {'clip=false'};

um diese Option zum generierten Code hinzuzufügen.

verwandte Informationen