Graphen aus csv

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Graphen aus csv

von kannstmasehn » Di 14. Apr 2015, 07:24

Ja war dumm von mir. Das hilft mir aber auch so weiter. Habe die Punkte, die 0 sind, dann einfach auf 0,1 gesetzt.

Der Vollständigkeit halber:
\documentclass[paper=a4,12pt,version=last]{scrartcl} 
\usepackage{pgfplots} 
\pgfplotsset{compat = newest}
     
\begin{document} 
\begin{tikzpicture} 
\begin{loglogaxis}[ 
   y filter/.code={\ifstr{#1}{}{\pgfmathparse{0.1}}{}} 
]  
\pgfplotstableread[col sep=comma,skip first n=6]{test.csv}\datatable 
\addplot table[x=P1,y=P5] from \datatable ; 
\end{loglogaxis} 
\end{tikzpicture} 
\end{document}

Danke dir!

von esdd » Fr 10. Apr 2015, 14:11

Wie lässt Du in loglogaxis eine 0 zeichnen? Ich verwende im folgenden deshalb semilogxaxis. Dann lässt sich das mit y filter/.code. Für die Überprüfung, ob der y-Wert leer ist, verwende ich dabei einfach das bei Verwendung einer KOMA-Script Klasse sowieso definierte \ifstr.
\documentclass[12pt,version=last]{scrartcl} 
\usepackage{pgfplots} 
\pgfplotsset{compat=newest} 

\begin{document} 
\begin{tikzpicture} 
\begin{semilogxaxis}[
  y filter/.code={\ifstr{#1}{}{\pgfmathparse{0}}{}}
]
\pgfplotstableread[col sep=comma,skip first n=6]{test.csv}\datatable 
\addplot table[x=P1,y=P20] from \datatable ; 
\end{semilogxaxis} 
\end{tikzpicture} 
\end{document}
Gruß
Elke

von kannstmasehn » Fr 10. Apr 2015, 10:46

Eine Frage noch: Wenn in der .csv keine Daten angegeben sind wie zB bei ",,,", was ja eigentlich "0" wäre, wie kann ich das auch als 0 zeichnen lassen? Also im Ausgabeprogramm steht für einen bestimmten Fall die 0, wird aber in der .csv lediglich mit nichts eingetragen. Gibt es da eine Möglichkeit, dass ich vielleicht diese leere Zelle mit 0 schreibe?

von kannstmasehn » Fr 10. Apr 2015, 10:00

Danke sehr! Funktioniert.

von esdd » Fr 10. Apr 2015, 09:56

Wenn die ersten 6 Zeilen der Inputdatei ignoriert werden sollen, dann erreichst Du das mit der Option skip first n=6.

Wenn kein Spalte für x angegeben ist, wird die jeweils erste genommen. Nachdem Du die Spalte "Name" gelöscht hast, ist das in der modifizierten Datei dann die Spalte "P1". Gibst Du nun x=P1 direkt an, kannst Du Dir das Löschen der ersten Spalte sparen.
\documentclass[12pt,version=last]{scrartcl} 
\usepackage{pgfplots,pgfplotstable} 
\pgfplotsset{compat=newest} 

\begin{document} 
\begin{tikzpicture} 
\begin{loglogaxis} 
\pgfplotstableread[col sep=comma,skip first n=6]{test.csv}\datatable 
\addplot table[x=P1,y=P5] from \datatable ; 
\end{loglogaxis} 
\end{tikzpicture} 
\end{document} 
Gruß
Elke

Graphen aus csv

von kannstmasehn » Fr 10. Apr 2015, 08:04

Moin,

hier mein Minimalbeispiel:
\documentclass[paper=a4,12pt,version=last]{scrartcl} 
\usepackage{pgfplots} 
\pgfplotsset{compat = newest}
     
\begin{document} 
\begin{tikzpicture} 
\begin{loglogaxis} 
\pgfplotstableread[col sep=comma]{test.csv}
\datatable
\addplot table[y = P5] from \datatable ;
\end{loglogaxis} 
\end{tikzpicture} 
\end{document}
Mit einer modifizierten csv-Datei funktioniert das auch. Ich bekomme aber von dem Programm die angehängte csv-Datei ausgegeben und würde diese gerne verwenden. Bei der modifizierten habe ich den Text der ersten Zeilen gelöscht und bei den Werten die Spalte 'Name' mit 'DP 0, DP 1,...'. Damit funktioniert es auch. Eine gewisse Automatisierung, ohne dass ich diese Inhalte löschen muss, wäre schon wünschenswert.

Die Fehlermeldung lautet, wenn ich die Inhalte nicht lösche:

! Illegal parameter number in definition of \pgfplotstable@loc@TMPa.


Wie kann ich das ohne Löschungen realisieren?


Vielen Dank im Voraus und einen schönen sonnigen Tag noch!
Dateianhänge
test.zip
(1.03 KiB) 235-mal heruntergeladen

Nach oben