我花了一整天的时间研究这个问题,却没有找到解决办法;我试图绘制一个余弦图 (y(x) = 2cos(x/4)),虽然我试图在 pgfplot 上绘制实际函数,但图形就是不起作用,要么负值出现在正侧,要么曲线根本不显示,所以我决定只绘制坐标,这样技术上几乎起作用了。
问题是我的坐标是 pi 值,但它们没有在图中显示出来,而且我尝试了 xticklabels,但它也不起作用。
这是我的代码:
\begin{tikzpicture}
\begin{axis}
[grid=both,
minor tick num=4,
grid style={line width=.2pt, draw=black!10},
major grid style={line width=.4pt,draw=black!50},
axis lines=middle,
enlargelimits={abs=0.1},
width=12cm, height=9cm
]
axis y line=middle,
axis x line=middle,
\addplot[smooth, blue] coordinates {
(-6*pi, 0)
(-4*pi, -2)
(-2*pi, 0)
(0, 2)
(2*pi, 0)
(4*pi, -2)
(6*pi, 0)
};
\end{axis}
\end{tikzpicture}
我想要弄清楚的是如何将 x 轴上的值更改为 pi,同时保持 y 轴上的值不变。
谢谢!
答案1
xticklabels
如果操作正确,确实有效。我不知道你尝试了什么,但以下是一个例子。
关于绘制函数,我再次不知道你做了什么,但三角函数需要考虑的一件事是,它们假设度作为输入,所以如果你有弧度,你需要将其转换为度,例如使用deg(..)
,或添加trig format=rad
到axis
选项中。
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
grid=both,
minor tick num=4,
grid style={
line width=.2pt, draw=black!10
},
major grid style={
line width=.4pt,draw=black!50
},
axis lines=middle,
enlargelimits={abs=0.1},
width=12cm, height=9cm,
xtick={-6*pi,-4*pi,...,6*pi},
xticklabels={$-6\pi$,$-4\pi$,$-2\pi$,,$2\pi$,$4\pi$,$6\pi$}
]
\addplot[smooth, blue,domain=-6*pi:6*pi] {2*cos(deg(x/4)))};
\end{axis}
\end{tikzpicture}
\end{document}