MWE

MWE

Wie im Kreis im Bild dargestellt, gibt es eine kleine Lücke zwischen dem0und der Rand. Wie kann ich diese kleine Lücke entfernen?

pgfplot

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.

Bildbeschreibung hier eingeben

Antwort1

Zahlreiche Vorschläge in den Kommentaren führten zur Lösung.

Standardmäßig pgfplotswird das Plot-Ansichtsfenster leicht vergrößert, wenn es automatisch Achsenbegrenzungen anhand der Plot-Daten erkennt. Mit den Tasteneinstellungen enlargelimits=falseoder enlarge x limits=falsekann 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=0fü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}

Bildbeschreibung hier eingeben

verwandte Informationen