
Есть ли эффективный способ управления метками схемы Tikiz, когда маркировка равномерна в диапазоне 0:0,125:...:2, я хочу отобразить число 0,0,125,..2 на оси x
\documentclass[border=1cm]{standalone}
\usepackage{amsmath}
\usepackage[siunitx]{circuitikz}
\usetikzlibrary{angles, arrows.meta,quotes}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
grid=both,
minor tick num=17,
grid style={line width=.1pt, draw=gray!10},
major grid style={line width=.2pt,draw=gray!50},
axis lines=middle,
enlargelimits={abs=0.2},
xmin = 0, xmax = 2,
ymin = -1, ymax = 7,
xtick={0,0.125,0.25,0.375,0.5,0.625,0.75,0.875,1}
xticklabels={$0$,$0.125$,$0.25$,$0.375$,$0.5$,$0.625$,$0.75$,$0.875$,$1$}
]
\addplot[domain=0:2,samples=50,smooth,red] {4*cos(deg(2*pi*x-2*pi*0.125))+3};
\end{axis}
\end{tikzpicture}
\end{document}
решение1
- размер шрифта, используемого в надписях, следует уменьшить
- точность чисел пришлось увеличить (со значения по умолчанию) с 2 до 3 знаков после запятой
- изображение должно быть достаточно широким для надписей, чтобы они не перекрывали друг друга
\documentclass[border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=15cm,
axis lines=middle,
grid=both,
minor tick num=4,
grid style={line width=.1pt, draw=gray!10},
major grid style={line width=.2pt,draw=gray!50},
enlargelimits={abs=0.2},
xmin = 0, xmax = 2,
ymin = -1, ymax = 7,
xtick={0,0.125,...,2},
x tick label style={font=\scriptsize,
/pgf/number format/precision=3}
]
\addplot[domain=0:2,samples=50,smooth,red] {4*cos(deg(2*pi*x-2*pi*0.125))+3};
\end{axis}
\end{tikzpicture}
\end{document}
Редактировать:
Если для вас приемлемо поворачивать xtick
этикетки, например на 45 градусов, вы можете увеличить размер шрифта, используемого в xtick
этикетках. В этом случае стиль этикетки x tick будет:
x tick label style={font=\small, rotate=45, anchor=east,
/pgf/number format/precision=3,}
и полученное изображение: