这听起来像是一个愚蠢的问题,但我找不到解决方案。
我正在尝试让它工作但我不知道为什么不行......
这是我的代码:
\documentclass{scrartcl}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tkz-fct}
\begin{document}
\begin{tikzpicture}[]
\tkzInit[xmin=0, ymin=0, xstep=0.25, ystep = 1, xmax = 2.25, ymax = 10]
\tkzGrid(0,0)(2.25,10)
\tkzDrawX[right, label = \begin{minipage}{\textwidth}
Temps de \\ parcours \\ (en h)
\end{minipage}]
\tkzDrawY[above right, label = \begin{minipage}{\textwidth}
Distance \\ parcourue\\ (en km)
\end{minipage}]
\tkzLabelY
\tkzLabelX[xstep = 1]
\tkzFct[very thick, color=blue, domain = 0:0.25]{12*x}
\tkzFct[very thick, color=blue, domain = 0.25:0.75]{3}
\tkzFct[very thick, color=blue, domain = 0.75:1.85]{84/13 * x - 24/13}
\tkzFct[very thick, dotted, color=red, domain = 0:2]{5*x}
\end{tikzpicture}
\end{document}
该函数的绘制方式与我想象的不一样...我添加了一张我得到的图片。
此外,我希望 x 轴上只有 0、1 和 2,没有其他数字。我该怎么做?
谢谢 !
答案1
好的,我找到了!
对于我的 x 轴,我这样做:\tkzInit[xmin=0, ymin=0, xstep=1, ystep = 1, xmax = 2, ymax = 10] \tkzGrid(0,0)(2.25,10) \tkzGridsub,subxstep=0.25,subystep=1(2.25,10)
第一个网格位于单位上,子网格位于 x 轴的 0.25 步上。可能有更好的方法可以做到这一点,但它有效!
至于我的函数,我认为我的 0.25 xstep 是一个问题,导致它们绘制不正确,因为只要我将它更改为 xstep = 1,它就起作用了。
这是我的解决方案:
\documentclass{scrartcl}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tkz-fct}
\begin{document}
\begin{tikzpicture}[xscale = 4]
\tkzInit[xmin=0, ymin=0, xstep=1, ystep = 1, xmax = 2, ymax = 10]
\tkzGrid(0,0)(2.25,10)
\tkzGrid[sub,subxstep=0.25,subystep=1](0,0)(2.25,10)
\tkzDrawX[right, label = \begin{minipage}{\textwidth}
Temps de \\ parcours \\ (en h)
\end{minipage}]
\tkzDrawY[above right, label = \begin{minipage}{\textwidth}
Distance \\ parcourue\\ (en km)
\end{minipage}]
\tkzLabelY
\tkzLabelX[xstep = 1]
\tkzFct[very thick, color=blue, domain = 0:0.25]{12*x}
\tkzFct[very thick, color=blue, domain = 0.25:0.75]{3}
\tkzFct[very thick, color=blue, domain = 0.75:1.85]{6.46156 * x - 1.84617}
\tkzFct[very thick, dotted, color=red, domain = 0:2]{5*x}
\end{tikzpicture}
\end{document}