Warum meldet Tikz, dass meine Abmessungen zu groß sind?

Warum meldet Tikz, dass meine Abmessungen zu groß sind?

Ich versuche, mit Tikz eine Figur zu erstellen, bekomme aber die Fehlermeldung „Abmessungen zu groß“. Ich vermute, das liegt daran, dass ich versuche, Funktionen zu zeichnen, die sich in den Grenzen 0 und 1 nähern, und Tikz kann damit nicht wirklich umgehen. Irgendwelche Tipps, wie ich Tikz zum Laufen bekomme?

\documentclass{article}
\begin{document}
\begin{tikzpicture}
    \begin{groupplot}[group style={group size= 2 by 1},height=6cm,width=6cm,xmin=0.5,ymin=0.5,ymax=1,xmax=1,samples=500,ytick={0.5,1},xtick={0.5,1}, xlabel={$v_1$},
    axis lines=left]
        \nextgroupplot[title={}, ylabel={$x_1$}]
              \addplot[blue,]{min(1,(\x/(2*(1-min(1,\x)))))};\label{plots:plot1};   

              \addplot[black] {((3*\x-1)/(2*\x))};\label{plots:plot2};
                \addplot[black, dashed] {(\x)};\label{plots:plot3};
         \nextgroupplot[title={}, ylabel={$x_2$}]
              \addplot[blue]{(max((2-3*\x)/(2-2*\x),0))};\label{plots:plot1};        \addplot[black] {(1-\x)/(2*\x)};\label{plots:plot2};
                \addplot[black, dashed] {(1-\x)};\label{plots:plot3};
                \coordinate (top) at (rel axis cs:0,1);% coordinate at top of the first plot
                \coordinate (bot) at (rel axis cs:1,0);% coordinate at bottom of the last plot
    \end{groupplot}
    \path (top-|current bounding box.west)-- 
          node[anchor=south,rotate=90] { } 
          (bot-|current bounding box.west);
% legend
\path (top|-current bounding box.south)--
      coordinate(legendpos) 
      (bot|-current bounding box.south);
\matrix[
    matrix of nodes,
    anchor=north,
    draw,
    inner sep=0.2em,
    draw
  ]at([yshift=-1ex, xshift=-17ex]legendpos)
  {
    \ref{plots:plot1}& F(x)&[5pt]
    \ref{plots:plot2}& G(x)&[5pt]
    \ref{plots:plot3}& H(x)& \\};
\end{tikzpicture} 
\end{document}

Antwort1

Bitte versuchen Sie es mit dem folgenden Code. Er muss ausgeführt werden, LuaLaTeXum die Ausgabe zu erhalten:

\documentclass{article}
\usepackage{pgfplots,tikz}
\usetikzlibrary{matrix,calc,arrows,shapes,positioning}
\usepgfplotslibrary{groupplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
    \begin{groupplot}[group style={group size= 2 by 1},height=6cm,width=6cm,xmin=0.5,ymin=0.5,ymax=1,xmax=1,samples=500,ytick={0.5,1},xtick={0.5,1}, xlabel={$v_1$},
    axis lines=left]
        \nextgroupplot[title={}, ylabel={$x_1$}]
              \addplot[blue,]{min(1,(\x/(2*(1-min(1,\x)))))};\label{plots:plot1};   

              \addplot[black] {((3*\x-1)/(2*\x))};\label{plots:plot2};
                \addplot[black, dashed] {(\x)};\label{plots:plot3};
         \nextgroupplot[title={}, ylabel={$x_2$}]
              \addplot[blue]{(max((2-3*\x)/(2-2*\x),0))};\label{plots:plot1};        \addplot[black] {(1-\x)/(2*\x)};\label{plots:plot2};
                \addplot[black, dashed] {(1-\x)};\label{plots:plot3};
                \coordinate (top) at (rel axis cs:0,1);% coordinate at top of the first plot
                \coordinate (bot) at (rel axis cs:1,0);% coordinate at bottom of the last plot
    \end{groupplot}
    \path (top-|current bounding box.west)-- 
          node[anchor=south,rotate=90] { } 
          (bot-|current bounding box.west);
% legend
\path (top|-current bounding box.south)--
      coordinate(legendpos) 
      (bot|-current bounding box.south);
\matrix[
    matrix of nodes,
    anchor=north,
    draw,
    inner sep=0.2em,
    draw
  ]at([yshift=-1ex, xshift=-17ex]legendpos)
  {
    \ref{plots:plot1}& F(x)&[5pt]
    \ref{plots:plot2}& G(x)&[5pt]
    \ref{plots:plot3}& H(x)& \\};
\end{tikzpicture} 
\end{document}

verwandte Informationen