我想使用以下方法重现此图形tkz-基地和tkz-euclide:
但是我很难在左边打印 Y 轴,因为所有的 x 都是负数。
这是一个 MWE:
\begin{tikzpicture}
\tkzInit[xmin=-150000,
xmax=0,
xstep=10000,
ymax=18,
ymin=4,
ystep=2]
\tkzDrawX\tkzLabelX[orig,step=50000]
\tkzDrawY\tkzLabelY[orig]
\end{tikzpicture}
我所拥有的只是:
正如您所见,y 轴在右侧,而我希望它在左侧。
答案1
我不知道如何修改这个tkz
东西来做到这一点,但正如评论中提到的,pgfplots
这是一个很好的绘图包。这是一个起点:
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
% set axis limits
xmin=-150000,
xmax=9000,
ymin=0,
ymax=18,
% draw axis lines only on left and bottom (default is to make a box)
axis y line=left,
axis x line=bottom,
% disable having a common scale factor for all ticklabels
scaled x ticks=false,
% separation between ticks on x-axis
xtick distance={50000},
% number of minor ticks
minor x tick num=4,
% disable having e.g. -1e5 as a tick
xticklabel style={/pgf/number format/fixed}
]
% plot some random numbers, just for example
\addplot +[domain=-150000:0] {rnd*10 + 4};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
如果你真的想坚持下去tkz-base
,那么我能找到的唯一方法就是将你的轴重置为正值,然后手动放入标签。
\documentclass[border=5mm]{standalone}
\usepackage{tkz-base}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzInit[xmin=0, xmax=150000, xstep=10000, ymin=4, ymax=18, ystep=2]
\tkzDrawX[label={}]
\tkzDefPoint(150000,3.8){C}\tkzLabelPoint[below](C){Actuel}
\tkzDefPoint(100000,3.8){B}\tkzLabelPoint[below](B){$-50\,000$}
\tkzDefPoint( 50000,3.8){A}\tkzLabelPoint[below](A){$-100\,000$}
\tkzDrawY\tkzLabelY[orig=false]
\end{tikzpicture}
\end{document}
当然,如果你这样做,你需要调整数据点,使年份也为正数。我想你可以把它们看作“自 15 万年前以来的年份”。但正如评论中所说,你可能会发现使用 更容易pgfplots
。