Não consegui encontrar informações sobre isso: Como posso exibir a linhaacima/na frente deO marcador? Neste momento está traçadoatráso marcador de diamante no diagrama e também na legenda.
\documentclass{standalone}
\usepackage{xcolor, pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[mark=square*, mark options={fill=gray}] coordinates {(1,2)(2,1)};
\legend{x};
\end{axis}
\end{tikzpicture}
\end{document}
Este seria o caso desejado:
Responder1
Há uma parte simples: você pode obter o gráfico conforme desejado usando mark layer
. Basta desenhar as marcas em uma camada que fica atrás da trama principal. E depois há a parte que exige um pouco mais de esforço: fazer a lenda cumprir. Para este fim, modifiquei ligeiramente o arquivo legend image code
. (não sei exatamentesaberpor que alguém tem que fazer isso, mas dado que a legenda geralmente deve estar na frente dos gráficos, faz sentido que o conteúdo da legenda vá para uma camada diferente e, assim, a camada da marca seja reajustada.)
\documentclass{standalone}
\usepackage{xcolor, pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[set layers,mark layer=axis background,
legend image code/.code={
\draw [mark repeat=2,mark phase=2,#1] plot coordinates {
(0cm,0cm) (0.3cm,0cm) (0.6cm,0cm)};
\draw [#1] (0cm,0cm) rectangle (0.5cm,0cm);
}]
\addplot[mark=square*, mark options={fill=gray}] coordinates {(1,2)(2,1)};
\legend{x};
\end{axis}
\end{tikzpicture}
\end{document}
Responder2
Bem-vindo ao TeX.SE!
Se você plotar os pontos (mas por tikz \node
e não por pgfplot mark
) antes de adicionar o gráfico, é fácil:
\documentclass{standalone}
\usepackage{xcolor, pgfplots}
\usetikzlibrary{shapes}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\node[diamond,fill,color=orange,inner sep=2pt] at (axis cs:1,2) {};
\node[diamond,fill,color=red,inner sep=2pt] at (axis cs:2,1) {};
\node[diamond,fill,color=green,inner sep=2pt] at (axis cs:1.8,1.2) {};
\addplot[thick] coordinates {(1,2)(2,1)};
\legend{x};
\end{axis}
\end{tikzpicture}
\end{document}
PS: Tenho certeza que pgfplots
tem jeito também, mas eu realmente não uso, então espere outra resposta antes de aceitar porque eu uso principalmente tikz
e nãopgfplots