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, 09:23

SF6's gravatar image

SF6
8012
Akzeptiert: 37%

bearbeitet 02 Mär, 12:43

saputello's gravatar image

saputello
20.0k33257

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

(02 Mär, 12: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, 03:27) SF6

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

(03 Mär, 04: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, 11:09

Henri's gravatar image

Henri
11.4k42233

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, 14: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, 01:36) saputello
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×533
×196
×10
×2

Frage gestellt: 02 Mär, 09:23

Frage wurde angeschaut: 843 Mal

Zuletzt aktualisiert: 03 Mär, 04:01