我正在绘制一个 Edgeworth 框,需要在图形的所有边上添加轴标签。Edgeworth 框的原点位于右上角(以及左下角),因此我需要翻转的轴标签(例如 9、8、7、6、5、4、3、2、1)。
这是我尝试过的代码,但实际上显示的不是我想要的数字10-1
,等等。
我该如何修复这个问题?
\foreach \x in {1,2,3,4,5,6,7,8,9}
\draw (\x cm,228.772pt) -- (\x cm,226.772pt) node[anchor=south] {10-$\x$};
\foreach \y in {1,2,3,4,5,6,7}
\draw (285.465pt,\y cm) -- (283.465pt,\y cm) node[anchor=west] {8-$\y$};
答案1
\documentclass[11pt,a4paper]{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\foreach \x in {9,8,...,1}{
\draw (9-\x,6.9) --++ (0,2mm) node[anchor=south] {\x};
}
\foreach \y in {7,6,...,1}{
\draw (8.9,7-\y) --++ (2mm,0) node[anchor=west] {\y};
}
\end{tikzpicture}
\end{document}
可能更好 :
\documentclass[11pt,a4paper]{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\pgfplotsset{
major grid style={dotted},
axis line style={shorten >=-10pt},
xmin=0, xmax=10,xtick={1,2,...,9},
ymin=0, ymax=8,ytick={1,2,...,7},
}
\begin{axis}[
grid=major,
axis y line=left,
axis x line=bottom,
]
\end{axis}
\begin{axis}[
x dir=reverse,
y dir=reverse,
axis y line=right, grid=none,
axis x line=top,
]
\end{axis}
\end{tikzpicture}
\end{document}