我有这个代码:
\begin{tikzpicture}[declare function={unipdf(\x,\xl,\xu)= (\x>\xl)*(\x<\xu)*1/(\xu-\xl);}]
\begin{axis}[
samples=100,
const plot mark mid,
scaled ticks = false,
ymin=0,ymax=0.5,
xmin=-3,xmax=3,
xtick={-2,2},
xticklabels={-$\frac{LSB}{2}$,$\frac{LSB}{2}$}],
ytick={0.25},
yticklabels={$\frac{1}{LSB}$}]
\addplot [very thick, orange] {unipdf(x,-2,2)};
\end{axis}
\end{tikzpicture}
现在,除了 y 标签的位置不正确(始终为 0)以及存在其他几个 y 刻度之外,一切正常:
这种行为有什么特殊原因吗?或者这只是一个错误?
我使用以下软件包:
\documentclass[10pt,landscape]{article}
\usepackage{multicol}
\usepackage{calc}
\usepackage{ifthen}
\usepackage[landscape]{geometry}
\usepackage{hyperref}
\usepackage{tikz}
\usepackage{amsmath}
\usetikzlibrary{arrows}
\usepackage{float}
\usetikzlibrary{shapes}
\usetikzlibrary{intersections}
\usepackage{circuitikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\usepackage{graphicx}
答案1
Torbjørn T. 很快就回答了这个问题:
xticklabels 后面有一个多余的 ],因此不考虑有关 yticks 的选项。
遗憾的是 pdflatex 没有抱怨这个问题,所以我从来没有怀疑过语法问题......