Eigene Symbole als mark in tikzpicture verwenden

Tabellen und Grafiken erstellen und anordnen


Alma
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Fr 25. Okt 2019, 10:21

Eigene Symbole als mark in tikzpicture verwenden

Beitrag 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
Dateianhänge
Ausschnitt FarbSymbolik
Ausschnitt FarbSymbolik
Ausschnitt FarbSymbolik.JPG (45.79 KiB) 1859 mal betrachtet
Testreihen.zip
Die beiden Testreihen im Format .dat
(8.25 KiB) 148-mal heruntergeladen
Minimalbeispiel
Minimalbeispiel
Minimalbeispiel.JPG (48.73 KiB) 1860 mal betrachtet

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag 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.
Zuletzt geändert von Bartman am Fr 25. Okt 2019, 22:03, insgesamt 1-mal geändert.

Alma
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Fr 25. Okt 2019, 10:21

Beitrag 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
Dateianhänge
Resultat
Resultat
Ergebnis.JPG (65.89 KiB) 1862 mal betrachtet

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag 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.

Alma
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Fr 25. Okt 2019, 10:21

Beitrag 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.

Antworten