使用 \foreach 管理轴上的刻度,Tikz

使用 \foreach 管理轴上的刻度,Tikz

我想在 y 刻度之间添加较小的距离。默认距离是 0.5,我需要设置为 0.2。根据以下情况为刻度设置不同的间距似乎很容易pgf图,在 4.15,第 271 页。

我添加了建议的ytick={\foreach \y in {.2,.4,.6}{\y},变化以获得结果,但我做不到。请帮帮我。

我的代码图在序言中包含\usepackage{tikz}和:\usepackage{pgfplots}

\begin{figure}[!h]
\centering
\caption{Rigidez Efectiva para Columnas Rectangulares}
\begin{tikzpicture}[domain=0:.7]
\begin{axis}[xlabel={$P/A_{g}f'{c}$},ylabel={$EI_{ef}/EI_{g}$}, xmin=-.1,xmax=.7,ymin=0,ymax=1.4, ytick={\foreach \y in {.2,.4,.6}{\y}}]
\addplot[domain=-.1:.1,color=red,very thick]{.3};
\addplot[domain=.1:.5,color=red,very thick]{.2+\x};
\addplot[domain=.5:.7,color=red,very thick]{.7};

\end{axis}
\end{tikzpicture}
\end{figure}

答案1

\foreach第 4.15.1 节中提到pgfplots手册(版本 1.10)仅用于解释刻度列表的内部处理方式;它与刻度列表的编写方式无关。

以下面的项目符号列表中的示例作为您的刻度规范指南。我已将此列表列在下面,以供参考:

  • {0,1,2,5,8,1e1,1.5e1}(一系列坐标),
  • {0,...,5}(与 相同{0,1,2,3,4,5}),
  • {0,2,...,10}(与 相同{0,2,4,6,8,10}),并且
  • {9,...,3.5}(与 相同{9,8,7,6,5,4})。
  • 参见[《1989 年刑法》第 83 条PGF/TikZ请参阅《Consumer manual (version 3.0.0)》以获取有关选项的更详细定义。

在这个特殊的例子中,ytick={0.2,0.4,0.6}它做得很好:

代码

\documentclass{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=1.10}

\begin{document}
\begin{tikzpicture}[domain=0:.7]
\begin{axis}[
  xlabel={$P/A_{g}f'{c}$},
  ylabel={$EI_{ef}/EI_{g}$},
  xmin=-0.1, xmax=0.7,
  ymin=0.0, ymax=1.4, 
  ytick={0.2,0.4,0.6},
]
  \addplot[domain=-.1:.1,color=red,very thick]{.3};
  \addplot[domain=.1:.5,color=red,very thick]{.2+\x};
  \addplot[domain=.5:.7,color=red,very thick]{.7};
\end{axis}
\end{tikzpicture}
\end{document}

几点说明:它自己pgfplots加载,所以不需要单独加载。此外,我添加了(如果需要,请用您的版本替换)以获得更好的轴标签间距。最后,我从选项中删除了它,因为它无论如何都会被每个命令覆盖。tikz\usepackage{}pgfplotsset{compat=1.10}domain=0:.7tikzpicture\addplot

输出

在此处输入图片描述

相关内容