
Preciso colocar coordenadas x de pontos como x ticks extras, mas a maneira comum é irracional, porque pode haver muitos pontos e duplicá-los extra x ticks
é ruim.
\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\begin{document}
%---------------------------------------------------------
\begin{tikzpicture}[
]
\begin{axis}[
width=\linewidth, axis lines = middle,
extra x ticks = {1.1, 2.2,3.3}, % irrational decision, because there can be many points
xtick=data,
]
\addplot[] {x};
\addplot[color=red,mark=*, only marks] coordinates {
(1.1,1)
(2.2,2)
(3.3,3)
};
\end{axis}
\end{tikzpicture}
%---------------------------------------------------------
\end{document}
Responder1
Se você fizer
xtick=data, % data points from first \addplot
extra x ticks={-4,...,4} % regularly spaced ticks
você receberá ticks para cada ponto no primeiro \addplot
e, além disso, ticks regularmente espaçados. Pode ficar um pouco confuso. Uma maneira de separá-los seria deslocar os ticks das coordenadas para baixo, ou seja
xticklabel style={yshift=-15pt},
extra x tick style={tick label style={yshift=15pt}}
A segunda linha é necessária porque a primeira também afeta os ticklabels extras.
Para nodes near coords
, adicionar point meta=x,nodes near coords
as opções de an \addplot
adicionará os valores de x próximos aos pontos nesse gráfico. O código abaixo demonstra ambos.
\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\begin{document}
%---------------------------------------------------------
\begin{tikzpicture}[
]
\begin{axis}[
width=\linewidth,
axis lines = middle,
xtick=data, % data points from first \addplot
extra x ticks={-4,...,4}, % regularly spaced ticks
xticklabel style={yshift=-15pt},
extra x tick style={tick label style={yshift=15pt}}
]
\addplot[color=red,mark=*,
only marks,
point meta=x, % use x-value for nodes near coords
nodes near coords
] coordinates {
(1.1,1)
(2.2,2)
(3.3,3)
};
\addplot[] {x};
\end{axis}
\end{tikzpicture}
%---------------------------------------------------------
\end{document}