TeXwelt wurde neu installiert. Es funktionieren noch nicht alle Features und auch an den deutschsprachigen Formulierungen wird verbessert. Danke für eure Geduld.

Hallo zusammen,

ich möchte gerne aus einer externen .txt oder .csv-Datei zeilenweise Punktkoordianten auslesen und mit Hilfe von tikz in Latex daraus eine Zeichnung erstellen für den Druck.

Die Datei hat folgendes Layout (Zahlenpaare stehen zeilenweise untereinander und sind durch ein ";" getrennt):

Öffne in Overleaf
0;0
4.267;0
2.626434203;-0.247438662
3.123622464;-0.270040693
3.638571116;-0.276587334
4.387588738;-0.309965296
4.597388432;-0.321883878
4.890808417;-0.106803221
5.349398135;-0.184094271
5.795033691;-0.301575063
6.253834907;-0.443782546

Hierbei soll der erste Wert jeweils die x-Koordinate und der zweite die y-Koordinate des Punktes darstellen.

Mein .tex-File sieht dann wie folgt aus:

Öffne in Overleaf
\documentclass[tikz,a4paper,margin=1mm]{standalone}
\usetikzlibrary{intersections,angles,quotes,calc,through}
\usepackage[ansinew]{inputenc}

\begin{document}
\begin{tikzpicture}

\draw[fill,red](\x,\y)circle(.5pt);

\draw[red](\x,\y)circle(2.5pt);

\end{tikzpicture}
\end{document}

Wie kann ich in LaTeX also die Datei zeilenweise auslesen und die Werte in die Variablen "x" und "y" schreiben und somit ein Bild mit allen Messpunkten erstellen?

Vielen Dank für eure Hilfe, Martin

gefragt 07 Okt '18, 09:28

Wienie2401's gravatar image

Wienie2401
10538
Akzeptiert-Rate: 0%

Mit pgfplots geht das sehr einfach. pgfplots basiert auf TikZ. Bist Du auch an einer pgfplots Antwort interessiert?

(07 Okt '18, 09:37) Gelöscht

eigentlich möchte ich, dass die Punkte ohne Achsen ausgegeben werden.

(07 Okt '18, 10:27) Wienie2401

@Wienie2401 Dann ergänzt du einfach hide axis.

Tatsächlich meine ich mal etwas für die Verarbeitung externer Daten-Dateien im TikZ-Handbuch gefunden zu haben. Aber man benutzt dafür eigentlich, wie bereits von @murmeltier erwähnt, pgfplots.

(07 Okt '18, 11:23) cis

Eine reine tikz-Alternative ohne pgf unter der Verwendung des datatool-Pakets:

Öffne in Overleaf
\documentclass{standalone}
\usepackage{filecontents}
\begin{filecontents*}{data.csv}
x;y
0;0
4.267;0
2.626434203;-0.247438662
3.123622464;-0.270040693
3.638571116;-0.276587334
4.387588738;-0.309965296
4.597388432;-0.321883878
4.890808417;-0.106803221
5.349398135;-0.184094271
5.795033691;-0.301575063
6.253834907;-0.443782546
\end{filecontents*}
\usepackage{tikz}
\usepackage[utf8]{inputenc}

\usepackage{datatool}
\DTLsetseparator{;}
\DTLloaddb{daten}{data.csv}

\begin{document}

\begin{tikzpicture}
%Datenpunkte
\DTLforeach*{daten}{%
\x=x,%
\y=y%
}{%
\draw[fill=black] (\x,\y) circle(1pt);
}
%Achsen
\draw[->] (0,0) -- (7,0);
\draw[->] (0,-0.5) -- (0,0.1);
\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 10 Okt '18, 15:40

Hirshy's gravatar image

Hirshy
6461639
Akzeptiert-Rate: 0%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×671
×11

gestellte Frage: 07 Okt '18, 09:28

Frage wurde gesehen: 1,384 Mal

zuletzt geändert: 10 Okt '18, 15:40