Seite 1 von 1

pgfplot mit verschiedenen Punkten und "fill"

Verfasst: Fr 18. Jun 2021, 07:13
von achem

Hallo zusammen,
ich möchte ein Vieleck mit pgfplot zeichnen, wie ich das im angehängten Beispiel auch geschafft habe. Nun sollen aber 2 Punkte davon anders aussehen (z.B. mark=x). Wie schafft man das, ich habe schon einiges probiert, schaffe es aber nicht.

\documentclass[varwidth, border=0pt]{standalone}
 \usepackage{tikz}
 \usepackage{siunitx}
\usepackage{subcaption}
\usepackage[labelformat=parens,labelsep=quad,skip=3pt]{caption}
\usepackage{graphicx}
\usepackage{pgfplots}
\usetikzlibrary{patterns}
\pgfplotsset{compat=1.16}
\begin{document}

\begin{figure}
  \begin{tikzpicture}
\begin{loglogaxis}[stack plots=y]
\addplot+[pattern=crosshatch dots,pattern color = blue] coordinates
{(530.1,26.5)(367,36.7) (187.6,46.89)(106,53.01)(57.9,57.9) (33,330) (24.2,242) (.1019,2.038) (.04061,.8123) (0.01624,0.6498) (.068229,.68229) (.11696,.58482) (.27616,.55233)(.48735,.48735)(293.6,7.339)(530.1,26.5)};

%\addplot+[fill] coordinates
%{(0,1) (1,1) (2,2) (3,2)} \closedcycle;
\end{loglogaxis}
\end{tikzpicture}
\end{figure}
 
\end{document}

Vielen Dank schon einmal im Voraus!! ;)


Re: pgfplot mit verschiedenen Punkten und "fill"

Verfasst: Fr 18. Jun 2021, 08:07
von Bartman

Ein Vorschlag mit der Option mark indices:

\documentclass[border=2pt]{standalone}
\usepackage{pgfplots}% lädt tikz, das graphicx lädt
\pgfplotsset{compat=1.18}

\usetikzlibrary{patterns}

\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}%[stack plots=y]
\addplot+ [
  pattern=crosshatch dots,
  pattern color = blue, 
  mark indices={3,...,15}
] coordinates {
  (530.1,26.5)(367,36.7) (187.6,46.89)(106,53.01)(57.9,57.9) (33,330) (24.2,242) 
  (.1019,2.038)(.04061,.8123) (0.01624,0.6498) (.068229,.68229) (.11696,.58482) 
  (.27616,.55233)(.48735,.48735)(293.6,7.339)(530.1,26.5)
};

\addplot+ [
  mark=x, 
  mark indices={1,2},
  mark size=4pt, 
  mark options={ultra thick},
  only marks
] coordinates {
  (530.1,26.5)(367,36.7) (187.6,46.89)(106,53.01)(57.9,57.9) (33,330) (24.2,242) 
  (.1019,2.038)(.04061,.8123) (0.01624,0.6498) (.068229,.68229) (.11696,.58482) 
  (.27616,.55233)(.48735,.48735)(293.6,7.339)(530.1,26.5)
};
\end{loglogaxis}
\end{tikzpicture}
\end{document}

Re: pgfplot mit verschiedenen Punkten und "fill"

Verfasst: Fr 18. Jun 2021, 08:54
von achem

Danke für die schnelle Antwort!
Super, danke! Genau danach habe ich gesucht.
Ich hatte es auch probiert nochmal ein zweites Mal addplot mit den selben Koordinaten hinzuzufügen, aber ich habe immer den Fehler bekommen, dass zwei gleiche Koordinaten nicht zulässig sind. Gibt es den Fehler jetzt nicht mehr, weil der Zusatz mark indices dabei ist?


Re: pgfplot mit verschiedenen Punkten und "fill"

Verfasst: Fr 18. Jun 2021, 09:50
von Bartman

Probiere es aus. Wenn Du die Option weglässt, bekommst Du zwar nicht die Ausgabe, die Du möchtest, aber auch keine Fehlermeldung.

Kannst Du den beschriebenen Lösungsversuch als Minimalbeispiel zeigen?


Re: pgfplot mit verschiedenen Punkten und "fill"

Verfasst: Fr 18. Jun 2021, 11:22
von achem

Ist ja verrückt, jetzt ist der Fehler weg! :lol:
Naja woran das jetzt liegt...?
Wenn ich jetzt zweimal die gleichen Koordinaten vorgebe, verschieben sich die Punkte nach oben, komisch. -> siehe Code (weißt Du woran das wieder liegen kann?)

\documentclass[varwidth, border=0pt]{standalone}
 \usepackage{tikz}
 \usepackage{siunitx}
\usepackage{subcaption}
\usepackage[labelformat=parens,labelsep=quad,skip=3pt]{caption}
\usepackage{graphicx}
\usepackage{pgfplots}
\usetikzlibrary{patterns}
\pgfplotsset{compat=1.16}
\begin{document}

\begin{figure}
  \begin{tikzpicture}
\begin{loglogaxis}[stack plots=y]
\addplot+[pattern=crosshatch dots,pattern color = blue] coordinates
{(530.1,26.5)(367,36.7) (187.6,46.89)(106,53.01)(57.9,57.9) (33,330) (24.2,242) (.1019,2.038) (.04061,.8123) (0.01624,0.6498) (.068229,.68229) (.11696,.58482) (.27616,.55233)(.48735,.48735)(293.6,7.339)(530.1,26.5)};

\addplot+[only marks, mark=x] coordinates
{(293.6,7.339)(530.1,26.5)};
\end{loglogaxis}
\end{tikzpicture}
\end{figure}
 
\end{document}

Aber im Prinzip passt das mit deiner Lösung perfekt, danke nochmal!!


Re: pgfplot mit verschiedenen Punkten und "fill"

Verfasst: Fr 18. Jun 2021, 14:36
von Bartman
achem hat geschrieben:
Fr 18. Jun 2021, 11:22

Wenn ich jetzt zweimal die gleichen Koordinaten vorgebe, verschieben sich die Punkte nach oben, komisch. -> siehe Code (weißt Du woran das wieder liegen kann?)

Deshalb habe ich stack plots=y auskommentiert.


Re: pgfplot mit verschiedenen Punkten und "fill"

Verfasst: Di 22. Jun 2021, 09:40
von achem

Ah ok. Danke!