轴位置 TikZ Tkz-Euclide

轴位置 TikZ Tkz-Euclide

我想使用以下方法重现此图形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

相关内容