我怎样才能知道pgfplots
只显示一个轴的正半部分,同时仍然绘制位于该轴负半部分的数据点?例如,参考此图,
我想只绘制 x 轴的右侧 (>0),而不改变任何其他内容。到目前为止,我的所有尝试都完全裁剪了图形的左侧。
提前致谢!
编辑:
以下是 MWE 的一个示例:
\documentclass[11pt,onecolumn]{article}
\usepackage{pgfplots}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\begin{axis}[%
axis on top, scale only axis,
xmin=-22.55, xmax=22.55,
xlabel={$r/b_0$},
ymin=0., ymax=54.05,
ylabel={$z/b_0$},
axis lines=center,
xtick=\empty, ytick=\empty,
]
\addplot [forget plot] graphics [xmin=-22.55, xmax=22.55, ymin=0.05, ymax=54.05] {foo.png};
\end{axis}
\end{tikzpicture}%
\end{document}
我删除了计算黑色轮廓的代码,它太长了。上面的 MWE 导致(抱歉质量不佳):
尝试axis x line=right
或xmin=0
导致
和
答案1
一种可能性是禁用 x 轴的绘制,然后手动绘制。可能还有其他可行的方法。
\documentclass[11pt,onecolumn]{article}
\usepackage{pgfplots} % loads tikz
\begin{document}
\begin{tikzpicture}
\begin{axis}[%
axis on top, scale only axis,
xmin=-22.55, xmax=22.55,
xlabel={$r/b_0$},
ymin=0., ymax=54.05,
ylabel={$z/b_0$},
axis lines=center,
xtick=\empty, ytick=\empty,
x axis line style={draw=none}, % disable drawing of x-axis
clip=false % disable clipping
]
% added opacity=0.1 only to make the result clearer
\addplot [forget plot,opacity=0.1] graphics [xmin=-22.55, xmax=22.55, ymin=0.05, ymax=54.05] {example-image};
% draw axis line
\draw [/pgfplots/every inner x axis line, draw=black, line cap=rect] (axis cs:0,0) -- (axis cs:\pgfkeysvalueof{/pgfplots/xmax}, 0);
\end{axis}
\end{tikzpicture}%
\end{document}