Minimalbeispiel:
Das bei mir nicht geht. Das Rechteck wird über die ganze x-Achse gezeichnet.
Fehlermeldungen je nach pgfplotsset{compat=1.14} Einstellung -> Dimension too large bzw. pgfkeys: Choice '1.14' unknown in key '/pgfplots/compat/BB'. I am going to ignore this key. \pgfplotsset{compat=1.14}
Welche pgfplots Version verwendest Du? Wenn compat=1.14 unbekannt ist, dann ist es eine ältere Version. Wenn Du in Deinem jetzigen Beispiel compat=newest oder compat=1.12 (derzeitige Verison bei Overleaf) setzt, dann funktioniert es im Online-Editor. Wenn Deine Verison älter als 1.11 ist, dann ist axis cs noch nicht Standard und Du musst dessen Verwendung bei den Koordinaten explizit angeben. In dem Fall würde ich Dir aber zu einem Update des Pakets raten.
Boah! Die ist ja älter als mein Sofa! Schon bei TeX Live 2013 war pgfplots 1.10 aktuell. Inzwischen sind wir bei pgfplots 1.14. Du solltest vielleicht einmal in Erwägung ziehen, eine aktuelle TeX-Distribution zu installieren oder falls Du MiKTeX verwendest, ein Komplettupdate sowohl als Admin als auch als User zu machen.
Dabei sind axis cs und rel axis cs zwei verschiedene Koordinatensysteme, die neben anderen von pgfplots bereit gestellt werden und innerhalb einer axis Umgebung verwendet werden können.
axis cs verwendet die gleichen Koordinaten, wie sie auch in den Plots verwendet werden. Benutzt man eine aktuelle pgfplots Version (1.11 oder neuer) und setzt die Option compat auf einen entsprechenden Wert, dann ist axis cs das Standardkoordinatensystem innerhalb der axis Umgebung. In dem Fall bezeichnet (50045,0) den gleichen Punkt wie (axis cs:50045,0). Die Option compat sollte man übrigens immer direkt nach dem Laden des Paketes als erste Option setzen.
rel axis cs nutzt die Länge der Achsen als Einheit. Deshalb liegt (rel axis cs:0,0) bei dem Punkt mit der kleinsten x und der kleinsten y Koordinate des Diagramms. (rel axis cs:0,1) ist dagegen der Punkt mit der kleinsten x, aber der größten y Koordinate.
(a|-b) ist der Schnittpunkt der vertikalen Linie durch die Koordinate (a) und der horizontalen Linie durch (b). Damit ist ({axis cs:50045,0}|-{rel axis cs:0,1}) der Schnittpunkt der vertikalen Linie an der Stelle x=50045 mit der horizontalen Linie durch die maximale y Koordinate des Diagramms. Analog ist ({axis cs:50045,0}|-{rel axis cs:0,0}) der Schnittpunkt der vertikalen Linie an der Stelle x=50045 mit der horizontalen Linie durch die kleinste y Koordinate des Diagramms. Dabei kann der Punkt (axis cs:50045,0) auch außerhalb des Diagramms liegen.
Zur Verdeutlichung ist hier noch eine Skizze, in der die horizontale Linie durch (rel axis:0,1) grün und die durch (rel axis:0,0) blau dargestellt ist. Die vertikale Linie durch (axis cs:50045,0) ist grau.
Du willst in einem Koordinatensystem eine senkrechte Linie von oben bis auf die x-Achse zeichnen. Wenn du die maximalen Koordinaten kennst, ist es kein Problem: \draw ({axis cs:50045,5}) -- ({axis cs:50045,0}); Hier einmal angenommen, dass der y-Bereicxh von [?;5] geht. Wenn du diese y-Werte jedoch nicht kennst, hast du ein Problem. Man kann mit deinen obigen Angaben symbolische koordinaten angeben: ({axis cs:50045,0}|-{rel axis cs:0,1}) Ausgehend vom Punkt (50045,0) wird eine relative senkrechte Verschiebung auf (0,1) vorgenommen, also bis zum maximalen Wert. Die andere Koordinate ist eigentlich etwas übertrieben, denn {rel axis cs:0,0} liefert eigentlich keine Verschiebung mehr, so dass ({axis cs:50045,0}) völlig ausreicht.
Siehe 13.3 Coordinates at Intersections in der Anleitung.
Welche
pgfplots
Version verwendest Du? Wenncompat=1.14
unbekannt ist, dann ist es eine ältere Version. Wenn Du in Deinem jetzigen Beispielcompat=newest
odercompat=1.12
(derzeitige Verison bei Overleaf) setzt, dann funktioniert es im Online-Editor. Wenn Deine Verison älter als 1.11 ist, dann istaxis cs
noch nicht Standard und Du musst dessen Verwendung bei den Koordinaten explizit angeben. In dem Fall würde ich Dir aber zu einem Update des Pakets raten.@esdd 1.8 habe ich
Boah! Die ist ja älter als mein Sofa! Schon bei TeX Live 2013 war
pgfplots 1.10
aktuell. Inzwischen sind wir beipgfplots
1.14. Du solltest vielleicht einmal in Erwägung ziehen, eine aktuelle TeX-Distribution zu installieren oder falls Du MiKTeX verwendest, ein Komplettupdate sowohl als Admin als auch als User zu machen.Dann nimm
compat=1.8
und\filldraw [draw=red,pattern=north east lines] (rel axis cs:0,0) rectangle (axis cs:100000,18.385735235);
.