我正在运行以下命令,但似乎不起作用。有什么提示可以说明哪里出了问题吗?
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{groupplot}[group style={group size= 2 by 1},height=6cm,width=6cm,xmin=0.5,ymin=0.4999,ymax=1.0001,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] {max(0,min((3*\x-1)/(2*\x),1))};\label{plots:plot2};
\addplot[black, dashed] {(\x)};\label{plots:plot3};
\nextgroupplot[title={}, ylabel={}]
\addplot[blue]{max(min((2-3*\x)/(2-2*\x),1),0)};\label{plots:plot4};
\addplot[black] {};\label{plots:plot5};
\addplot[black, dashed] {1-\x};\label{plots:plot6};
\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}& player 1 moves first&[5pt]
\ref{plots:plot2}& player 2 moves first&[5pt]
\ref{plots:plot3}& players move simultaneously& \\};
\end{tikzpicture}
\end{center}
\end{document}
答案1
您有几个问题:
- 您应该在函数中使用
x
,而不是;\x
pgfplots
引发错误的原因(你可以通过注释掉所有内容,然后
\addplot
单独取消注释来找到它)是\addplot[black] {};\label{plots:plot5};
这是违法的;我不知道你想在这里图谋什么……
(PS:查看警告并添加\pgfplotsset{compat=1.15}
或任何内容以使用该软件包的最新功能)。