Hallo, aus einer Messwerttabelle sollen neben den x-y-Werten noch ein weiterer Wert, das Ergebnis vergleichbar einem Bubbel-chart ausgegeben werden. Die label bzw. die Punkte müssen dann nicht mehr beschriftet sein. Ich verzweifle. Wie bringe ich die Befehle zur Erzeugunb eines bubble in meinem Code unter. Ich möchte später wenigstens drei Datenreihen anzeigen.

Open in writeLaTeX
 \documentclass[paper=a4,10pt,version=last]{article}
 \def\pgfsysdriver{pgfsys-pdftex.def}
 \usepackage{tikz}
 \usepackage[utf8]{inputenc}
 \usepackage[locale=DE]{siunitx}
 \usepackage{amsmath}
 \usepackage{amsfonts}
 \usepackage{amssymb}
 \usepackage{graphicx}
 \usepackage[width=16.00cm, height=25.00cm]{geometry}
 \usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\pgfplotsset{grid style={dashed}}

 \begin{filecontents}{data5.csv}
Messung Strom1 Ergebnis1 Strom2 Ergebnis2
    1       2   0.2     2.5     0.3
    2       3   0.35    3.8     0.3
    3       4   0.45    7.9     0.35
    4       5   0.5     8.5     0.39
    5       6   0.65    8.0     0.38
    6       7   0.68    8.0     0.4
    7       8   0.7     8.0     0.41
    8       7.5 0.73
    9       6.7 0.0.75
    10      10  0.79
 \end{filecontents}

\begin{document}
\centering
    \begin{tikzpicture}
            \begin{axis} [grid=major, %zeichnet Koordinatengitter
            xlabel= Kraft $\lbrack{}$ \si{F} $\rbrack$, 
            xmin=0,
            xmax=15,
            ylabel= Strom $\lbrack{}$ \si{kA} $\rbrack$,
            ymin=0,
            ymax=12,
            width=1\linewidth,
            height=10cm,
            nodes near coords, % Beschriften der Punkte
            % % % % % Ausrichten der Punktbeschriftung
             every node near coord/.append style={font=\scriptsize,/pgf/number format/precision=3}]
            \addplot table [x=Messung, y=Strom1] {data5.csv};
            \addplot table [x=Messung, y=Strom2] {data5.csv};
            %

            \fill[gray,fill opacity=0.25] (axis cs:5,0) rectangle (axis cs:7,12); %Bereich einfügen

        \end{axis}
    \end{tikzpicture}
\end{document}

alt text

gefragt 05 Feb '14, 16:37

andreas96's gravatar image

andreas96
61125
Akzeptiert-Rate: 0%

bearbeitet 05 Feb '14, 18:33

cgnieder's gravatar image

cgnieder
22.1k243463

Willkommen bei der TeXwelt! :)

(05 Feb '14, 16:42) cgnieder

Hier ist ein Vorschlag, der auf einem Beispiel aus der Dokumentation zu pgfplots basiert.

Open in writeLaTeX
\documentclass[margin=5mm]{standalone}

\usepackage[locale=DE]{siunitx}
\usepackage{pgfplots}
\pgfplotsset{
  compat=1.9,
  grid style={dashed}
}

\usepackage{filecontents}
\begin{filecontents}{data5.csv}
Messung   Strom1   Ergebnis1   Strom2   Ergebnis2
1         2        0.2         2.5      0.3
2         3        0.35        3.8      0.3
3         4        0.45        7.9      0.35
4         5        0.5         8.5      0.39
5         6        0.65        8.0      0.38
6         7        0.68        8.0      0.4
7         8        0.7         8.0      0.41
8         7.5      0.73        {}       {}
9         6.7      0.75        {}       {}
10        10       0.79        {}       {}
\end{filecontents}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    scatter,
    scatter src=explicite,
    grid=major, %zeichnet Koordinatengitter
    xlabel= Kraft $\lbrack{}$ \si{F} $\rbrack$, 
    xmin=0,xmax=15,
    ylabel= Strom $\lbrack{}$ \si{kA} $\rbrack$,
    ymin=0, ymax=12,
    width=1\linewidth,height=10cm,
  ]
  \addplot+[
      visualization depends on=
        {10*\thisrow{Ergebnis1} \as \perpointmarksize},
      scatter/@pre marker code/.append style=
        {/tikz/mark size=\perpointmarksize},
    ]
    table[x=Messung,y=Strom1,point meta=\thisrow{Ergebnis1}]{data5.csv};
  \addplot+[
      visualization depends on=
        {10*\thisrow{Ergebnis2} \as \perpointmarksize},
      scatter/@pre marker code/.append style=
        {/tikz/mark size=\perpointmarksize}
    ]
    table[x=Messung,y=Strom2,point meta=\thisrow{Ergebnis2}]{data5.csv};
  \fill[gray,fill opacity=0.25] (axis cs:5,0) rectangle (axis cs:7,12); %Bereich einfügen
\end{axis}
\end{tikzpicture}
\end{document}

alt text

Die Werte von Ergebnis1 bzw. Ergebnis2 werden dabei nicht nur durch die Größe sondern auch durch die Farbe symbolisiert. Es gibt unterschiedliche vordefinierte Farbverläufe. Man kann sich aber auch eigene definieren. Insbesondere können die Marker eines Graphen auch einfarbig dargestellt werden.

Definition mit:

Open in writeLaTeX
\pgfplotsset{
  colormap={blue}{color(0cm)=(blue); color(1cm)=(blue);},
  colormap={red}{color(0cm)=(red); color(1cm)=(red);}
}

Verwendung mit

Open in writeLaTeX
\addplot+[
    colormap name=blue,...]...

alt text

Permanenter link

beantwortet 06 Feb '14, 16:09

esdd's gravatar image

esdd
17.7k254256
Akzeptiert-Rate: 62%

bearbeitet 07 Feb '14, 14:17

Wie gebe ich Werte ein, die zwar in einer Datenreihe (Kurve) vorkommen, in der anderen aber nicht. Es kann vorkommen, dass ich eine Kurve (Wert: Messung) bei 1 mache, die andere Kurve erst bei dem Wert 1,3 ein Messergebnis hat. Ich möchte verhindern, dass meine Kurve in diesem Bereich auf 0 läuft.

(06 Feb '14, 19:29) andreas96

@andreas96 Ich hab Deine „Antwort“ mal in einen Kommentar zur Antwort konvertiert, da sie doch eher eine Nachfrage zu sein scheint, denn eine Antwort auf Deine oben gepostete Frage.

(06 Feb '14, 19:47) cgnieder
1

@andreas96 Ich hab die zusätzlich eingefügten Daten wieder herausgenommen. Damit ist jetzt zu sehen, wie du fehlende Werte eingetragen musst, damit sie beim Plotten ignoriert werden. Alternativ können auch andere Spaltentrenner verwendet werden, wie zum Beispiel ein Semikolon. Dann gehören aber alle Leerzeichen zu den jeweiligen Argumenten (müssen also entfernt werden) und table muss über die Option col sep der verwendete Spaltentrenner mitgeteilt werden.

(07 Feb '14, 14:27) esdd

Sehr schöner Plot! Ich habe gerade eine PGFplots Beispiel-Seite gestartet und Deine Lösung hinzugefügt: Markers in a line diagram. Wenn Du noch mehr schöne Plot-Beispiele aus Deinen Posts in TeX-Foren hast, und ich sie dort aufnehmen könnte, lass es mich gern wissen!

(17 Mär '14, 22:42) stefan ♦♦
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:

×296
×53

gestellte Frage: 05 Feb '14, 16:37

Frage wurde gesehen: 16,204 Mal

zuletzt geändert: 17 Mär '14, 22:43