Seite 1 von 1

excel Daten importieren

Verfasst: Do 3. Nov 2016, 17:56
von MenschMax
Hallo,

ich habe eine Excel Datei die folgendermaßen aussieht:


	Zeit	Outlet_FaRi	Outlet_Fond_FeRi	Outlet_Fond_FeLe	Outlet_Fond_central	Outlet_FaCeLe	Outlet_FaCeRi
     1,00	     277,15	     277,15	     277,15	     277,15	     277,15	     277,15	     
     2,00	     277,15	     277,15	     277,15	     277,15	     277,15	     277,15	     
Und das bis zur Zeit 10000.

Wie kriege ich diese Daten nun in Latex?

Habe dann das ganze gespeichert unter Test.csv und dann habe ich es so versucht

\documentclass[a4paper,12pt,twoside]{report} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 
\usepackage{siunitx} 
   
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{units} 



\begin{figure}[H]
  \begin{center}
    \begin{tikzpicture}
      \begin{semilogyaxis}[
			    legend style={at={(0,0.95)},xshift=0.2cm,anchor=north west,nodes=right}  , 
					    legend entries ={Fall a, Fall b,ohne Sonne},
          width=\linewidth, % Scale the plot to \linewidth
          grid=major, 
          grid style={dashed,gray!30},
          xlabel=Anzahl Iterationen,
          ylabel=Residuum,
					xmin=0, xmax=10000,
					ymin=270, ymax=330,
          x tick label style={rotate=45,anchor=east},
					xtick={200,400,...,2000},
        ]
				\addplot table[y=MD,col sep=semicolon] {Test.csv};
				
		\end{semilogyaxis}
    \end{tikzpicture}
    \caption{My first autogenerated plot.}
  \end{center}
\end{figure}

\end{document}
Dabei spuckt er mir aber 100 undurchdringliche Fehlermeldungen aus. Irgendwas stimmt mit dem Dateiformat nicht.

Um ein paar Hinweise bin ich dankbar, Danke :-)

Verfasst: Do 3. Nov 2016, 18:04
von Johannes_B
Wie sind in der exportierten Datei die Spalten getrennt?
Was sagst du pgfplots über den Trenner?


Und schmeiß die center-Umgebung aus der Gleitumgebung.

Verfasst: Do 3. Nov 2016, 18:23
von MenschMax
Wie sind in der exportierten Datei die Spalten getrennt?
Wie seh ich denn das? Also habe es als csv (Trennzeichen getrennt) gespeichert. Öffne ich diese Datei, dann sind zwischen den Einträgen Semikolons. Von dem her müsste das passen mit
col sep=semicolon

Verfasst: Fr 4. Nov 2016, 11:16
von MenschMax
a) Also so halbwegs bekomme ich es hin: Lediglich nur wenn ich eine einzelne Spalte als txt rausschreibe (Tab getrennt) und importiere. Leider habe ich aber bis zu 7 Spalten die gleichzeitig in ein Diagramm wandern sollen, dafür möchte ich aber nicht 7 txt Dateien erstellen?

b) Meine txt Datei besteht aus bis zu 10000 Einträgen. Daher erhalte ich dann die Fehlermeldung "sorry main memory size=300000 exceeded"

Wie kann ich das Problem umgehen?

Ich möchte meine Diagramme schon in Latex erstellen, sieht einfach besser aus :-)

Verfasst: Fr 4. Nov 2016, 12:49
von Gast
Du kannst auswählen, welche Spalte für x und welche für y verwendet werden soll. Oder verstehe ich die Frage falsch?

Verfasst: So 6. Nov 2016, 16:27
von Bartman
MenschMax hat geschrieben:a) Also so halbwegs bekomme ich es hin: Lediglich nur wenn ich eine einzelne Spalte als txt rausschreibe (Tab getrennt) und importiere. Leider habe ich aber bis zu 7 Spalten die gleichzeitig in ein Diagramm wandern sollen, dafür möchte ich aber nicht 7 txt Dateien erstellen?
Die Struktur Deiner Daten im Eröffnungsbeitrag verleitet mich zu folgender Annahme:
\addplot table[x=Zeit, y=Outlet_FaRi] {Test.csv};
\addplot table[x=Zeit, y=Outlet_Fond_FeRi] {Test.csv};
\addplot table[x=Zeit, y=Outlet_Fond_FeLe] {Test.csv};
\addplot table[x=Zeit, y=Outlet_Fond_central] {Test.csv};
\addplot table[x=Zeit, y=Outlet_FaCeLe] {Test.csv};
\addplot table[x=Zeit, y=Outlet_FaCeRi] {Test.csv};
MenschMax hat geschrieben:b) Meine txt Datei besteht aus bis zu 10000 Einträgen. Daher erhalte ich dann die Fehlermeldung "sorry main memory size=300000 exceeded"

Wie kann ich das Problem umgehen?
Vielleicht hilft Dir das sechste Kapitel der Dokumentation von pgfplots weiter.

Verfasst: Mo 7. Nov 2016, 13:51
von MenschMax
Ich probier es mal auf deine Art Bartman

Ich glaube nur, dass er auch nicht mit 10000 Zeilen klarkommt ?

Hier mal meine Excel Datei die ich einlesen mag, vielleicht kennt ja jemand ein besseres Mittel wie ich damit umzugehen habe.

Boar bis man das mal in Latex hat...leichte Verzweiflung :-/

Aber danke an alle die mir helfen

Excel Datei

Verfasst: Mo 7. Nov 2016, 14:30
von Bartman
Ich habe mit mithilfe eines Texteditors das Komma als Dezimaltrennzeichen in der Textdatei durch einen Punkt ersetzen lassen.

Verfasst: Mo 7. Nov 2016, 14:42
von MenschMax
Genau so bin ich nun auch weiter vorgegangen. Problem: Lese ich nun 10000 Zeilen ein, kommt "Memory exceeded..." . Kürze ich auf 4000 spuckt er mir wenigstens mal keine Fehlermeldung aus. Das Diagramm sieht zwar grauenhaft nun aus, weil die Punkte ganz komisch verbunden werden und auch abgebildet werden. Da hilft auch "no marks" als optionales Argument nicht.http://de.share-your-photo.com/img/0fc79abad3.png



Wie könnte ich denn die 10000 Zeilen reinbekommen? Oder muss ich nun die Grafik in Excel oder Matlab erstellen?

Verfasst: Di 8. Nov 2016, 18:11
von MenschMax
Hey Bartman,

ich habe ja eine große Anzahl von Daten,

setze ich:
\addplot table[x=Zeit, y=Outlet_FaRi] {Test.csv};

so wird für jeden Datenpunkt eine "mark" gezeichnet.

Folglich habe ich geändert:
\addplot table[x=Zeit, y=Outlet_FaRi, mark repeat = 1000] {Test.csv};
leider nicht mit dem gewünschten Erfolg. Auch:
\addplot+[mark repeat= 1000] table[x=Zeit, y=Outlet_FaRi, mark repeat = 1000] {Test.csv};
half nichts. Hast Du vielleicht eine Idee?