我正在尝试使用 创建一个双图图pgfplots
。但是,结果并不完全符合我的要求,因为我期望两个图并排出现,但它们却奇怪地对齐了。在pgfplot
手册(第 21 页)中,您可以阅读
我的代码是
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\pgfplotsset{compat = newest}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{axis}[
ticks=none,
axis x line=bottom,
axis y line=left,
xmin=0,xmax=7,
ymin=0,ymax=12]
\addplot[
domain = 0:7,
samples =200,
] {x};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[
ticks=none,
axis x line=bottom,
axis y line=left,
axis y discontinuity=crunch,
xmin=0,xmax=1.3,
ymin=0.5,ymax=1.3]
\addplot[
domain = 0:sqrt(1/3),
samples =200,
] {sqrt(7/6-x^2)};
\addplot[
domain = sqrt(1/3):sqrt(7/6),
fill = gray,
fill opacity = 0.1,
samples =200,
y filter/.expression={x==sqrt(7/6 )?0:y},
] {sqrt(7/6-x^2)}\closedcycle;
\addplot[
domain = 0:7,
samples =200,
] {sqrt(5/6)};
\fill[gray, opacity = 0.1] (0,0) -- (0,0.9129) -- (0.5774,0.9129) -- (0.5774,0);
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
编辑:crunch
这也许是最右侧图表中轴的结果吗?我认为是的:删除axis y discontinuity=crunch
会导致两个图表对齐。
相加\usepackage{showframe}
显示,即使两个图正确对齐,生成的图也比边距宽。但是,当存在时,crunch
即使缩小各个图的尺寸以使其适合页面宽度,错位仍然存在。
答案1
- 社区评论:通常情况下,本网站的习惯是“每个问题问一个问题”:)。
- 实际答案:下面,您可以找到针对您的第一个问题的建议(并排),使用
\usepgfplotslibrary{groupplots}
。 - PGFPLOTS 手册参考:我还添加了手册中相关部分的屏幕截图。
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\usepgfplotslibrary{groupplots}
\pgfplotsset{compat = 1.18}
\begin{document}
\begin{tikzpicture}
\begin{groupplot}[
% Shared options for all diagrams.
group style = {
group size = 2 by 1
},
height = 40mm,
width = 30mm,
]
\nextgroupplot[
ticks=none,
axis x line=bottom,
axis y line=left,
xmin = 0,
xmax = 7,
ymin = 0,
ymax = 12,
]
\addplot[
domain = 0:7,
samples =200,
] {x};
\nextgroupplot[
ticks = none,
axis x line = bottom,
axis y line = left,
axis y discontinuity = crunch,
xmin = 0,
xmax = 1.3,
ymin = 0.5,
ymax = 1.3,
]
\addplot[
domain = 0:sqrt(1/3),
samples = 200,
] {sqrt(7/6-x^2)};
\end{groupplot}
\end{tikzpicture}
\end{document}
评论: \usepackage{showframe}
表明您的图表太宽。