Ich möchte gerne mit pgfplots eine Lastkurve zeichnen. Das Problem: Es sind Jahresdaten, als eine Menge an Zeilen.

Ich habe die Excel-Datei bereits aufgearbeitet und als CSV (Kommatrennung) exportiert. So sieht beispielhaft eine Zeile aus:

Öffne in Overleaf
1/1/2017,2:45:00,0,
2/1/2017,14:30:00,0.038782319,

Ich möchte jetzt einen Plot in TeX erstellt haben, der auf der x-Achse vom 1. Januar bis 31. Dezember den Kurvenverlauf der Werte in der dritten Spalte (0 und 0.038782319) zeichnet. Die Uhrzeit ist nicht wichtig.

LaTeX spuckt sodann einen Fehler aus

! Package PGF Math Error: Could not parse input '1/1/2017' as a floating pointnumber, sorry.

War mir irgendwie klar, dass er damit Probleme hat.

Ein bisschen Recherche betrieben und

Öffne in Overleaf
\usepgfplotslibrary{dateplot}

eingebunden. Zusätzlich noch die CSV umformatiert in

Öffne in Overleaf
2017-01-01,0
2017-01-01,0.037531276

Leider immer noch derselbe Fehler.

gefragt 02 Mär '17, 15:23

SF6's gravatar image

SF6
15953440
Akzeptiert-Rate: 0%

bearbeitet 02 Mär '17, 18:43

saputello's gravatar image

saputello
11.1k154365

Bitte gibt immer ein vollständiges Minimalbeispiel an, damit wir sehen können, was Du genau gemacht hast.

(02 Mär '17, 18:40) saputello

Ich habe meine Daten jetzt in das VM von oben von Henri eingefügt (also mal ohne die CSV). Jetzt stoße ich allerdings auf ein Memory Problem. Scheint, als seien 30000 Punkte in einem Plot etwas zu viel für TeX? ;)

Öffne in Overleaf

! TeX capacity exceeded, sorry [main memory size=3000000].<argument> ...37614679 .. };

(03 Mär '17, 09:27) SF6

@SF6: Das wäre eine neue Frage, die wir allerdings bereits haben.

(03 Mär '17, 10:01) saputello

Öffne in Overleaf
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    date coordinates in=x,
    xticklabel={\month/\year}]
    \addplot table[x index=0,y index=1,col sep=comma] {
      2017-01-01,0
      2017-02-01,0.037531276
      2017-03-01,0.057531276
      2017-04-01,0.077531276
      2017-05-01,0.047531276
      2017-06-01,0.027531276
      2017-07-01,0.067531276
    };
  \end{axis}
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 02 Mär '17, 17:09

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

Die Zeile

\pgfplotsset{compat=newest}

... hat es vollbracht. Wofür ist die gut?

Leider gibt's einen neuen Fehler:

! File ended while scanning use of \pgfcalendar@datetojulian.\par \include{tex/bgrundlagen}

So sieht mein Code aus:

\begin{tikzpicture}
    \begin{axis}[%
    date coordinates in=x, xticklabel={\month/\year}] 
    \addplot table[x index=0, y index=1, col sep=comma]{img/gdl/plot/pv1gf.csv};
    \end{axis}
    \end{tikzpicture}
(02 Mär '17, 20:34) SF6

@SF6 Überprüfe die Korrektheit der Syntax der CSV-Datei. Beachte: »Was bedeutet die Kompatibilitätsangabe "compat=..." bei pgfplots?« und »Was ist ein vollständiges Minimalbeispiel oder kurz VM und wie erstelle ich dieses?«. Selbstverständlich sollst Du kein VM in einem Kommentar verstecken, wie überhaupt ausufernde Kommentare zu vermeiden sind. Ebenso sollen Kommentare und Ergänzungen zu Fragen nicht als Antworten getarnt werden.

(03 Mär '17, 07:36) saputello
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:

×728
×296
×13
×3

gestellte Frage: 02 Mär '17, 15:23

Frage wurde gesehen: 6,194 Mal

zuletzt geändert: 03 Mär '17, 10:01