excel Daten importieren Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


MenschMax

excel Daten importieren

Beitrag 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 :-)

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag 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.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

MenschMax

Beitrag 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

MenschMax

Beitrag 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 :-)

Gast

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

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

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

MenschMax

Beitrag 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

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

Beitrag von Bartman »

Ich habe mit mithilfe eines Texteditors das Komma als Dezimaltrennzeichen in der Textdatei durch einen Punkt ersetzen lassen.
Dateianhänge
Test.txt
(702.15 KiB) 410-mal heruntergeladen

MenschMax

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

MenschMax

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

Antworten