![y 标签 tikz 图与 y 轴发生干扰](https://linux22.com/image/247870/y%20%E6%A0%87%E7%AD%BE%20tikz%20%E5%9B%BE%E4%B8%8E%20y%20%E8%BD%B4%E5%8F%91%E7%94%9F%E5%B9%B2%E6%89%B0.png)
我正在尝试从 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
设置时有效)。