是否可以在 pgfplots 中定义与我的图y
相对应的内容?Y cm
我知道如何在 tkz-fct 中做到这一点,所以让我添加一个 tkz-fct 示例来更清楚地说明我想要什么:
\documentclass{article}
\usepackage{pgfplots}
\usepackage{tkz-fct}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}[scale=.5]
\tkzInit[xmax=10,ystep=3,ymax=10]
\tkzAxeXY
\tkzGrid
\tkzFct[color=red, thick,domain=0:10]{\x}
\tkzFct[domain=0:10]{\x**2}
\end{tikzpicture}
\begin{tikzpicture}[scale=.5]
\tkzInit[xmax=10,ystep=1.5,ymax=10]
\tkzAxeXY
\tkzGrid
\tkzFct[color=red, thick,domain=0:10]{\x}
\tkzFct[domain=0:10]{\x**2}
\end{tikzpicture}
\end{document}
在一种情况下,3 对应于图片中 y 轴上的 0.5 厘米,在另一种情况下,1.5 对应于 y 轴上的 0.5 厘米。这是通过使用 scale=0.5 选项和 ystep 选项来实现的。
对于我来说,像 tkz-fct 示例中那样的网格并不重要。
答案1
您可以使用键x
和指定单位向量的长度y
。在本例中,您将x=0.5cm, y=0.5cm/3
在第一个图中使用 和x=0.5cm, y=0.5cm/1.5
。
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
samples=60,
domain=0:10, xmax=10.5,
restrict y to domain=0:10,
axis lines=left,
y=0.5cm/3,
x=0.5cm,
grid=both,
xtick={0,...,10},
ytick={0,3,...,9},
compat=newest,
xlabel=$x$, xlabel style={at={(1,0)}, anchor=west},
ylabel=$y$, ylabel style={rotate=-90,at={(0,1)}, anchor=south}
]
\addplot [red] {x};
\addplot [black] {x^2};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[
samples=60,
domain=0:10, xmax=10.5,
restrict y to domain=0:10,
axis lines=left,
y=0.5cm/1.5,
x=0.5cm,
grid=both,
xtick={0,...,10},
ytick={0,1.5,3,...,9},
compat=newest,
xlabel=$x$, xlabel style={at={(1,0)}, anchor=west},
ylabel=$y$, ylabel style={rotate=-90,at={(0,1)}, anchor=south}
]
\addplot [red] {x};
\addplot [black] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}