Seite 1 von 1

Eigene Symbole als mark in tikzpicture verwenden

Verfasst: Fr 25. Okt 2019, 14:48
von Alma
Hello,

Ich habe ein übergeordnetes Farb- und Symbolchemata für meine Abschlussarbeit, welche ich jetzt in/auf meine Abbildungen einbringen/anwenden möchte.

Folgendes Minimalbeispiel funktioniert erst einmal: das einlesen meiner Messdaten und daraus eine Abbildung machen. (Alle weiteren Sachen bzgl. Formatierungen von zB. Legenden habe ich für die Übersichtlichkeit gelöscht). Die beiden Testreihen sind in der .zip-Datei. Das Ergebnis das hierbei rauskommt ist beigefügt mit dem Namen Minimalbeispiel.jpg
\documentclass[12pt,a4paper]{article}
\usepackage[ngerman]{babel}	
\selectlanguage{ngerman}      
\usepackage{lmodern}					  
\usepackage[T1]{fontenc}              
\usepackage{textcomp}           
\usepackage[latin1]{inputenc}                	   
\usepackage{textgreek}                
\usepackage{pifont}
\usepackage{tikz}					                     	 
\usetikzlibrary{positioning}
\usepackage{amssymb, amsthm}   
\usepackage{amsxtra}			
\usepackage{mnsymbol}  
\usepackage{wasysym}		
\usepackage{psfrag}
\usepackage{float}   
\usepackage{floatflt}		
\usepackage{here}				 
\restylefloat{figure} 
\usepackage{subfigure}    
\usepackage{graphicx}       
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usepackage{tocbasic}
\usepackage{chngcntr}


\begin{document}

Beispiel:
\begin{figure}[H] \centering
\begin{tikzpicture}
   \begin{axis}[xmin=0,xmax=700,ymin=0,ymax=200000,
                xlabel near ticks, xlabel={Volumenstrom},
                ylabel near ticks, ylabel={Druckverlust},
               /pgf/number format/.cd, use comma, 1000 sep = {},
               grid=minor, 
							 legend entries={Messreihe a, Messreihe b},
               legend cell align=left]
      \addplot [blue, mark=*, only marks] table [x index=36, y index=44]{testa.dat};
      \addplot [red, mark=*, only marks] table [x index=36, y index=44]{testb.dat};
   \end{axis}
\end{tikzpicture}
\end{figure}

\end{document}
jetzt möchte ich aber natürlich keine * als Symbole haben, sondern meine eigenen erstellten Symbole. Für mein großes Dokument klappt das wunderbar, wenn ich vorne in die Präambel folgendes hinzufüge.
\definecolor{schwarz}{rgb}{0,0,0}
\def\SymbVGaKSa{\makebox[0pt][c]{\color{schwarz}{$\smalldiamond$}}\makebox[0pt][c]{\color{schwarz}{$\medcircle$}}}
\def\SymbVGaKSb{\makebox[0pt][c]{\color{schwarz}{$\times$}}\makebox[0pt][c]{\color{schwarz}{$\medcircle$}}}
Um eine Vorstellung zu bekommen wieviele ich davon habe: FarbSymbolik.jpg (und dann das dreifache davon)

Jetzt habe ich versucht das über \pgfdeclareplotmark{SymbVGaKSa}{\SymbVGaKSa} zu lösen, was nicht klappt, was evtl daran liegt, dass meine definierten Symbole für tikz in der falschen (Mathe)Umgebung definiert wurden?

Ich hoffe ich konnte mein Problem verständlich machen und jemand hat einen guten Hinweis :-)
Ich entschuldige mich höflich, wenn ich mich zu dämlich anstelle und die Lösung offensichtlich ist.

Danke Euch,
Alma

Verfasst: Fr 25. Okt 2019, 17:14
von Bartman
Dein Beispiel ist nicht minimal. Die Datenquellen sind zwar als Archiv im Anhang enthalten, das Problem kann man aber mit verhältnismäßig einfach gehaltenen Mitteln im Beispiel nachbilden. Es müssen nicht die echten Daten sein, sondern nur etwas, mit dem man arbeiten kann.

Was geschieht, wenn Du einen Knoten benutzt?
\pgfdeclareplotmark{SymbVGaKSa}{\node{\SymbVGaKSa};}
Dein Wert für die Option compat ist nicht auf dem neuesten Stand.

Off-Topic:

Die Dokumentsprache wird schon durch babel und dessen Option bestimmt, \selectlanguage wird dafür nicht gebraucht.

Alle neueren Editoren kodieren ihre Dateien in UTF-8. Dazu müsste die Option beim Laden von inputenc geändert werden. In dem Fall ist das Paket bei einer aktuellen TeX-Distribution verzichtbar. Solltest Du das machen wollen, dann zur Sicherheit bitte nur an Kopien Deiner Dateien.

pgfplots lädt pgf/TikZ, welches xcolor und graphicx lädt.

subfigure ist veraltet und sollte, sofern es verwendet wird, durch eine der Alternativen ersetzt werden.

chngcntr ist nicht veraltet, aber es zu laden.

Es gibt andere Möglichkeiten, den Effekt von float und dessen Option H zu erreichen.

Verfasst: Fr 25. Okt 2019, 21:29
von Alma
Heyho Bartman,

ich gelobe Besserung bzgl. meiner Minimalbeispiele! Es war keine Absicht, dass zu verkomplizieren, danke Dir, dass Du Dich trotzdem mit meinem Problem befasst hast :D
Was geschieht, wenn Du einen Knoten benutzt?
Es ist ein Träumchen :mrgreen: und es ist wunderschön *hehe*

Bzgl. Off-Topic: Vielen Dank für Deine weiteren Hilfen bzgl. meiner Sprache und pgfplots/xcolor/graphics etc.
Subfigure sollte ich dann auch ersetzen und mit float werde ich mich auch noch beschäftigen! Dankeschön für die Hinweise! :D

Verfasst: Fr 25. Okt 2019, 22:51
von Bartman
Für weitere Beiträge mit angehängten Abbildungen: Wie hänge ich ein Bild an meine Frage?
\definecolor{schwarz}{rgb}{0,0,0}
Wenn es bei dieser Zeile darum geht, einen deutschen Namen für den vorhandenen Namen black anzulegen, dann geht das auch mit dem Befehl \colorlet. Näheres ist dem Abschnitt 2.5.2 "Color definition in xcolor" in der Dokumentation des Pakets xcolor zu entnehmen.

Verfasst: Sa 26. Okt 2019, 10:24
von Alma
Hi Bartman,
das \colorlet sieht verdammt interessant aus (prozentuales heller und dunkler machen von einer Grundfarbe) - das schau ich mir definitiv noch an. Danke :)
In meinem Beispiel war das mit dem schwarz einfach ein Platzhalter für 12 von mir definierte Farben.