y 标签 tikz 图与 y 轴发生干扰

y 标签 tikz 图与 y 轴发生干扰

我正在尝试从 matlab 图制作 tikz 图。问题是 y 标签在 y 轴上。

绘制图像

我使用了以下代码:

\begin{tikzpicture}

\begin{axis}[%
width=\figurewidth,
height=\figureheight,
scale only axis,
xmin=0, xmax=320,
xlabel={$\text{Debiet [m}^\text{3}\text{/h]}$},
xmajorgrids,
ymin=0, ymax=9e-006,
ylabel={$\text{d}_{\text{p,100\%}}\text{ [m]}$},
ymajorgrids,
axis lines=left,
title={ },
legend style={nodes=right}]
\addplot [
color=black,
solid
]
coordinates{
...
addlegendentry{$\text{d}_{\text{p,100\%}}\text{ bij ideale aanstroming}$};

\end{axis}
\end{tikzpicture}

我尝试了几种方法,但仍然不起作用。有没有办法将 y 标签向右移动或在 y 轴上使用通用缩放因子?

答案1

您可以通过提供选项来使用常见的缩放因子scaled y ticks={base 10:6},该选项会将所有 y 刻度与相乘10^6,并将缩放因子添加10^-6到轴的顶部。

\documentclass{article}

\usepackage{pgfplots}
\usepackage{amsmath}

\begin{document}
\begin{tikzpicture}

\begin{axis}[%
scale only axis,
xmin=0, xmax=320,
xlabel={$\text{Debiet [m}^\text{3}\text{/h]}$},
xmajorgrids,
ymin=0, ymax=9e-006,scaled y ticks={base 10:6},
ylabel={$\text{d}_{\text{p,100\%}}\text{ [m]}$},
ymajorgrids,
axis lines=left,
title={ },
legend style={nodes=right}]
\addplot [
color=black,
solid
] coordinates {(0,7e-6) (320,3e-6)};
\addlegendentry{$\text{d}_{\text{p,100\%}}\text{ bij ideale aanstroming}$};

\end{axis}
\end{tikzpicture}
\end{document}

为了避免 y 轴标签与刻度标签冲突,您可以将要使用的版本至少设置为,这将使用轴标签的compat=1.3特殊锚点。near ticklabel

\documentclass{article}

\usepackage{pgfplots}
\usepackage{amsmath}

\begin{document}
\begin{tikzpicture}

\begin{axis}[%
compat=newest,
scale only axis,
xmin=0, xmax=320,
xlabel={$\text{Debiet [m}^\text{3}\text{/h]}$},
xmajorgrids,
ymin=0, ymax=9e-006,
ylabel={$\text{d}_{\text{p,100\%}}\text{ [m]}$},
ymajorgrids,
axis lines=left,
title={ },
legend style={nodes=right}]
\addplot [
color=black,
solid
] coordinates {(0,7e-6) (320,3e-6)};
\addlegendentry{$\text{d}_{\text{p,100\%}}\text{ bij ideale aanstroming}$};

\end{axis}
\end{tikzpicture}
\end{document}

答案2

较新版本的pgfplots会自动处理此问题,但您必须调用它。您可以使用\pgfplotsset{compat=newest}来全局设置兼容性,或在选项compat=newest中使用\begin{axis}[ ... ]

此选项会自动调整标签间距以避免出现刻度线。如果您想要进一步调整,请使用 ylabel shift={dimension}选项(仅在compat=newest设置时有效)。

相关内容