请问如何使这个图变大,并在 $\pi/2$ 处留出空间……就像这张图片一样
\documentclass[border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[width=9cm,height=4cm,
axis lines = middle,
grid=both,
minor tick num=5,
ticklabel style={fill=white,font=\scriptsize, inner sep=1pt},
xmin=-365, xmax=365,
xtick={-360,-270,-180,-90, 0, 90, 180, 270,360},
xticklabels={ $-2\pi$,$-3\pi/2$,$-\pi$, $-\pi/2$, 0, $\pi/2$, $\pi$,$3\pi/2$,$2\pi$ },
ymin=-2, ymax=2,
ytick={-2,-1,...,2},
legend style={draw=none,fill=none, font=\scriptsize,
anchor=north east, at={(1,1)},
legend columns=-1},
domain=-360:360,
samples=181,
no marks\addplot +[red,thick] {tan(x)};
\addplot +[blue,thick] {cot(x)};
\legend{$\tan(x)$, $\cot(x)$}
\end{axis}
\end{tikzpicture}
\end{document}
答案1
我不确定我是否理解了你的问题。你喜欢这样的东西吗?
上图是通过以下方式获得的(与您的 MWE 相比,所有变化都以 标记% <---
):
\documentclass[border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[width=12cm,height=6cm, % <--- determine size of image
axis lines = middle,
axis on top, % <---axes and grid id draw over function curves
grid=both,
minor tick num=3,
ticklabel style={fill=white,font=\scriptsize,
inner sep=1pt, minimum height=1em}, % <--- all ticks labels has
% the same baseline (are vertical aligned)
xmin=-365, xmax=365,
xtick={-360,-270,...,360},
extra x ticks = {0}, % added is tick at $x=0$,
% it write "0" at coordinate origin
xticklabels={ $-2\pi$,$-\frac{3\pi}{2}$,$-\pi$, $-\frac{\pi}{2}$, 0,
$\frac{\pi}{2}$, $\pi$,$\frac{3\pi}{2}$,$2\pi$ }, % <--- ticks at \pi/2 are write as fraction $\frac{\pi}{2}$
ymin=-2.2, ymax=2.2,
ytick={-2,-1,...,2},
legend style={draw=none,fill=white, fill opacity=0.75, % <--- added fill opacity,
% now the grid is visible through legend bode
font=\scriptsize, text opacity=1, inner sep=1pt, % <--- text is not transparent
anchor=north east, at={(1,1)}, legend columns=-1},
domain=-360:360,
samples=181,
no marks
]
\addplot +[red,thick] {tan(x)};
\addplot +[blue,thick] {cot(x)};
\legend{$\tan(x)$, $\cot(x)$}
\end{axis}
\end{tikzpicture}
\end{document}
编辑: 在上面的代码中与您的 MWE 相比,更改了以下内容:
- 图像宽度增加(从 9cm 增加到 12cm)。在文档类中,原样
article
...例如,它可以等于\textwidth
设置width=\linewidth
。 - 轴和线被移到图表的顶部,这样标签更加清晰可见。
- 在刻度标签样式中,标签节点的最小高度相等。这样,所有标签都位于基线上。
- 角分数写为
$\frac{\pi}{2}
等(与此相比,标签变得更短$\pi/2$
。 图例样式添加了
fill=white
透明度fill opacity=0.75
。这样可以看到背景中网格的填充情况。为了更好地显示图例中的文本,使用 删除了文本透明度text opacity=1
。所有这些更改均已在代码中标记,正如已经提到的,并且现在也在我对您上一个问题的回答中完成了。