\documentclass[11pt]{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{figure}
\centering
\resizebox{\textwidth}{!}{%
\begin{tikzpicture}
\begin{axis}[
axis lines=middle,
xmin=-10, xmax=15,
ymin=-200, ymax=260,
xlabel=$x$, xlabel style={below right},
ylabel=$y$, ylabel style={above left},
xtick={-10,1,15},
ytick={-200, 25, 250},
tick style={thick},
]
\addplot[blue,thick,samples=100] {x^3-9*x^2-30*x+200};
\end{axis}
\end{tikzpicture}
}%
\end{figure}
\end{document}
这意味着我遇到了一些问题,我不知道如何解决。
- 我尝试绘制的函数 (x^3 - 9x^2 - 30x + 200) 无法完全呈现。我不确定该怎么办。
- 我想在轴上制作“幽灵刻度”,这些刻度是可见的,但没有附加数字。另外,我想显示数字 250 和 15,而“刻度”不位于箭头上方。
- 如果我要使轴上的数字变小,我该怎么做?
抱歉,如果这个问题的答案很明显,我最近才开始使用 LaTeX。
新问题: 这太小事了。我不想为此专门创建一个新帖子。
这是我当前的代码
\begin{figure}[hbt!]
\centering
\begin{tikzpicture}
\begin{axis}[width=14cm,
axis lines=middle,
grid=major,
xmin=-5, xmax=50.5,
ymin=-2, ymax=10.5,
xlabel=$x$, xlabel style={right},
ylabel=$y$, ylabel style={above},
tick style={thick},
ticklabel style={font=\normalsize},
xtick={0,5,...,50}, extra x ticks={-5}, extra x tick style={grid=none},
ytick={0,2,...,10}, minor ytick={-1,1,...,9},extra y ticks={-2}, extra y tick style={grid=none},
legend entries={0.5x},
legend style={
at={(0.8,0.937)},
anchor=north,
legend columns=1},
legend cell align={left}
]
\addplot[blue,thick,samples=100,domain=-5:50] {sqrt(x)};
\addplot[red,thick,samples=100,domain=-5:50] {0.5*x};
\legend{$f(x)=\sqrt{x} \; {,} \; x \geq 0$ , $g(x)=0.5x$}
\end{axis}
\end{tikzpicture}
\end{figure}
我的问题:为什么图表没有完全sqrt(x)
显示/一直到(0,0)?
答案1
通过添加适当的域,可以实现绘图的“完整渲染”。幻影刻度是小刻度。可以通过添加 使数字变小ticklabel style={font=\tiny}
。可以使用 键控制绘图的宽度width
,请勿使用\resizebox
。还建议添加compat
键。
\documentclass[11pt]{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[width=\textwidth,
axis lines=middle,
xmin=-10, xmax=15.5,
ymin=-200, ymax=260,
xlabel=$x$, xlabel style={below right},
ylabel=$y$, ylabel style={above left},
xtick={-10,1,15},
ytick={-200, 25, 250},
tick style={thick},
minor xtick={-9,-8,...,14},
minor y tick num=10,
ticklabel style={font=\tiny}
]
\addplot[blue,thick,samples=100,domain=-10:15] {x^3-9*x^2-30*x+200};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
附录:绘制逐步定义的函数。
\documentclass[11pt,fleqn]{article}
\usepackage{amsmath}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
Suppose we want to plot the function
\[ f(x)=\begin{cases}
\frac{x^2}{2}-2x+3\;, & x\le 4\;,\\
x-1\;, & x>4\;.
\end{cases}\]
Then one can declare a function using the `ifthenelse` function,
\begin{quote}
\verb|declare function={f(\x)=ifthenelse(\x<=4,0.5*\x^2-2*\x+3,\x-1);}|\;.
\end{quote}
The result is shown in Figure~\ref{fig:f}.
\begin{figure}[htb]
\centering
\begin{tikzpicture}[declare
function={f(\x)=ifthenelse(\x<=4,0.5*\x^2-2*\x+3,\x-1);}]
\begin{axis}[width=\textwidth,
axis lines=middle,
xmin=-10, xmax=15.5,
xlabel=$x$, xlabel style={below right},
ylabel=$f(x)$, ylabel style={above left},
xtick={-10,1,15},
tick style={thick},
minor xtick={-9,-8,...,14},
minor y tick num=1,
ticklabel style={font=\tiny}]
\addplot[blue,thick,samples=100,domain=-10:15] {f(x)};
\end{axis}
\end{tikzpicture}
\caption{$f(x)$.}
\label{fig:f}
\end{figure}
\end{document}