
Wie im Kreis im Bild dargestellt, gibt es eine kleine Lücke zwischen dem0und der Rand. Wie kann ich diese kleine Lücke entfernen?
MWE
Beispielcode zum Generieren des obigen Diagramms
% in preamble
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\usepackage{filecontents}
\begin{filecontents*}{data.csv}
x,y
0.01,0.9583333333
0.02,0.8125
%...100 in total...
\end{filecontents*}
% in document
\begin{figure}[t]
\begin{tikzpicture}
\pgfplotsset{legend style={font=\tiny}}
\begin{axis}[
xlabel={Recall},
xtick={0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1},
ylabel={Precision},
ytick={0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1},
legend cell align=left,
legend pos=north east]
\addplot[c1, thin, mark=square, mark repeat=5] table[x=x, y=y, col sep=comma] {data.csv};
\addlegendentry{x-y};
\end{axis}
\end{tikzpicture}
\caption{plot}\label{fig:plot}
\end{figure}
Aktualisieren:
Hier ist, was ich von der Verwendung von Matlab erwartet habe. Beachten Sie, dass sich in der unteren linken Ecke eine0Beschriftung, die sowohl von der x- als auch der y-Achse gemeinsam genutzt wird.
Antwort1
Zahlreiche Vorschläge in den Kommentaren führten zur Lösung.
Standardmäßig pgfplots
wird das Plot-Ansichtsfenster leicht vergrößert, wenn es automatisch Achsenbegrenzungen anhand der Plot-Daten erkennt. Mit den Tasteneinstellungen enlargelimits=false
oder enlarge x limits=false
kann dies für alle bzw. einzelne Achsen verhindert werden.
In diesem Fall stimmen die Grenzen der dargestellten Daten jedoch nicht mit den gewünschten Achsengrenzen überein. Hier xmin=0
führt das explizite Festlegen der Achsengrenzen ( usw.) zum gewünschten Ergebnis:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\usepackage{filecontents}
\begin{filecontents*}{data.csv}
x,y
0.01,0.9583333333
0.02,0.8125
%...100 in total...
0.99,0.1875
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
enlarge x limits=false,
xlabel={Recall},
xmin=0,xmax=1,
xtick={0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1},
ylabel={Precision},
ymin=0.1,ymax=1,
ytick={0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1},
]
\addplot table[x=x, y=y, col sep=comma] {data.csv};
\addlegendentry{x-y};
\end{axis}
\end{tikzpicture}
\end{document}