我正在尝试在 tikzpicture 中创建垂直线,但它们的比例非常小。
我的代码:
\documentclass [10pt] {article}
\usepackage{pgfplots}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
xmin=-0.25,
xmax=3.5,
ymin=-0.25,
ymax=1.75,
axis line style={<->},
]
\addplot [<->,thick,domain=0.88:3]{x^(-3)};
\draw (1,-0.25) -- (1,1.75)[dashed,gray];
\draw (2,-0.25) -- (2,1.75)[dashed,gray];
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}
这就是问题所在:
如果您能看到它,那么在左下角,有两条细小的垂直线,我希望它们从 (1,-0.25) 跨越到 (1,1.75),从 (2,-0.25) 跨越到 (2,175)。如果我将范围设置为 500 之类的大值,我可以看到这些线,但我不明白为什么要这样绘制它们。
答案1
您必须指定要使用的轴坐标系 (axis cs):
\documentclass [10pt] {article}
\usepackage{pgfplots}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
xmin=-0.25,
xmax=3.5,
ymin=-0.25,
ymax=1.75,
axis line style={<->},
]
\addplot [<->,thick,domain=0.88:3]{x^(-3)};
\draw (axis cs:1,-0.25) -- (axis cs:1,1.75)[dashed,gray];
\draw (axis cs:2,-0.25) -- (axis cs:2,1.75)[dashed,gray];
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}
答案2
您应该使用指定相对于轴的坐标(axis cs:x,y)
,或者只使用@percusse 的建议并放入\pgfplotsset{compat=1.12}
序言中而不更改原始代码。
\documentclass [10pt] {article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
xmin=-0.25,
xmax=3.5,
ymin=-0.25,
ymax=1.75,
axis line style={<->},
]
\addplot [<->,thick,domain=0.88:3]{x^(-3)};
\draw (axis cs:1,-0.25) -- (axis cs:1,1.75)[dashed,gray];
\draw (axis cs:2,-0.25) -- (axis cs:2,1.75)[dashed,gray];
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}