我似乎找不到坐标轴标签没有出现在我想要的位置的原因。我希望“x”位于 x 轴的右侧,而“y”位于 y 轴的上方。我尝试了“当前轴.原点的右侧”、“当前轴.原点的上方”以及“ticklabel* cs”。但似乎都不起作用。我遗漏了什么?
\documentclass[tikz]{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel=$x$,
every axis x label/.style={at={(current axis.right of origin)},anchor=west},
ylabel=$y$,
every axis y label/.style={at={(ticklabel* cs:2)},anchor=south},
axis lines=middle,
domain=0:5.5,samples=100]
\addplot[
name path=line1,
color=blue]{x^2};
\addplot[
name path=line2,
color=violet]{2^(-x)};
\end{axis}
\fill[draw,name intersections={of=line1 and line2},red](intersection-1) circle (2pt);
\end{tikzpicture}
\end{document}
答案1
重新axis lines=middle
定义every axis x label/.style
和every axis x label/.style
。您必须在之后设置两种样式axis lines=middle
:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=middle,
xlabel=$x$,
every axis x label/.style={at={(current axis.right of origin)},anchor=west},
ylabel=$y$,
every axis y label/.style={at={(current axis.above origin)},anchor=south},
domain=0:5.5,samples=100]
\addplot[
name path=line1,
color=blue]{x^2};
\addplot[
name path=line2,
color=violet]{2^(-x)};
\end{axis}
\fill[draw,name intersections={of=line1 and line2},red](intersection-1) circle (2pt);
\end{tikzpicture}
\end{document}
答案2
- 您使用的是旧
pgfplots
版本(1.9 版)。请使用/升级到最新版本(目前为 1.18.1 版),您可以通过 调用它\pgfplotsset{compat=1.18}
。 - 轴标签样式,根据你的喜好,你可以简单地定义
xlabel style={right}, ylabel style={above},
对代码进行一些小的修改后完成的 MWE 如下:
\documentclass[border=3.141592pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
xlabel=$x$, ylabel=$y$,
xlabel style={right},
ylabel style={above},
domain=0:5.6,samples=100]
\addplot[name path=line1, color=blue]{x^2};
\addplot[name path=line2, color=violet]{2^(-x)};
%
\fill [name intersections={of=line1 and line2, by=a},
red, semitransparent] (a) circle [radius=2.4pt];
\end{axis}
\end{tikzpicture}
\end{document}