TeXwelt wurde neu installiert. Es funktionieren noch nicht alle Features und auch an den deutschsprachigen Formulierungen wird verbessert. Danke für eure Geduld.

Ich möchte gerne eine Lorenzkurve mit pgfplots erstellen. Die x-Werte sind immer gleich (von 0 bis 10), deshalb möchte ich sie irgendwo fest definieren, nur die Y-Werte sind variabel. Wie kann ich feste x-Werte von 0 - 10 definieren, ohne sie jedes Mal neu eingeben zu müssen? Ich will nur die y-Werte eingeben, geht das?

Hier ein MBB

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}          
\usepackage{pgfplots}
\pgfplotsset{
    compat=newest
}
\usepgfplotslibrary{fillbetween}

\begin{document}
\begin{tikzpicture}[scale=1.2]
    \begin{axis}[%
    style=thick,
    xlabel=Menge in \%,
    ylabel=Wert in \%,
    minor tick num=1,
    xmin=0,
    ymin=0,
    xticklabels={,,20,40,60,80,100},
    grid=both,
    domain=0:10,               
    enlarge x limits=false,    % keine Verlängerung der x-Achse
    %enlarge y limits=false,   % keine Verlängerung der y-Achse
    legend pos=north west
    ]
    \addplot+[name path=P,smooth,black,mark options={black}]
    coordinates{
            (0,0)         % x-Wert 0 fest vorgeben 
        (1,42.43)     % x-Wert 1 fest vorgeben
        (2,75.68)     % x-Wert 2 fest vorgeben
        (3,82.8)      
        (4,87.59) 
        (5,91.9)
        (6,95.89) 
        (7,98.28) 
        (8,99.61) 
        (9,99.9) 
        (10,100.00)
    };
    \legend{\bfseries\textcolor{red!70!white}{A}/
    \textcolor{green!60!black}{B}/
    \textcolor{yellow!70!white}{C}-Güter}

    %Füllung
    \addplot[name path=X,draw=none]{0};  % entspricht x-Achse
    \addplot[red!70!white] fill between [of=P and X, soft
    clip={domain=0:2}];
    \addplot[green!60!black] fill between [of=P and X, soft
    clip={domain=2:6}];
    \addplot[yellow!70!white] fill between [of=P and X, soft
    clip={domain=6:10}];
    \end{axis}
\end{tikzpicture}
\end{document}

VG Thorsten

gefragt 10 Mär '14, 08:56

thor's gravatar image

thor
202313
Akzeptiert-Rate: 28%

bearbeitet 10 Mär '14, 11:11

esdd's gravatar image

esdd
15.2k123954


Du kannst die Daten als einspaltige Tabelle angeben und die x-Werte aus dem Zeilenindex berechnen lassen. Dabei hat die erste Zeile den Zeilenindex 0 und die erste Spalte analog den Spaltenindex 0. Die x-Werte würde ich dann auch gleich entsprechend der Achseneinteilung berechnen lassen, also mit dem Faktor 10.

Open in writeLaTeX
\documentclass[margin=5mm]{standalone}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}

\usepgfplotslibrary{fillbetween}

\begin{document}
\begin{tikzpicture}[scale=1.2]
  \begin{axis}[%
      style=thick,
      xlabel=Menge in \%,
      ylabel=Wert in \%,
      minor tick num=1,
      xmin=0,
      ymin=0,
      %xticklabels={,,20,40,60,80,100},% nicht nötig, wenn x-Werte entsprechend berechnet
      grid=both,
      domain=0:100,               
      enlarge x limits=false,    % keine Verlängerung der x-Achse
      %enlarge y limits=false,   % keine Verlängerung der y-Achse
      legend pos=north west
    ]
    \addplot+[name path=P,smooth,black,mark options={black}]
    table[x expr=10*\coordindex,y index=0]{
      0
      42.43
      75.68
      82.8
      87.59
      91.9
      95.89
      98.28
      99.61
      99.9
      100.00
    };
    \legend{\bfseries\textcolor{red!70!white}{A}/
    \textcolor{green!60!black}{B}/
    \textcolor{yellow!70!white}{C}-Güter}

    %Füllung
    \addplot[name path=X,draw=none]{0};  % entspricht x-Achse
    \addplot[red!70!white] fill between [of=P and X, soft
    clip={domain=0:20}];
    \addplot[green!60!black] fill between [of=P and X, soft
    clip={domain=20:60}];
    \addplot[yellow!70!white] fill between [of=P and X, soft
    clip={domain=60:100}];
  \end{axis}
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 10 Mär '14, 11:23

esdd's gravatar image

esdd
15.2k123954
Akzeptiert-Rate: 63%

Vielen vielen Dank, hat mir sehr geholfen! Thorsten

(10 Mär '14, 14:00) thor

@thor Falls das deine Frage beantwortet, kannst du die Antwort gern akzeptieren (den Haken anklicken).

(17 Mär '14, 21:35) esdd

uups, ich muss noch ein wenig lernen hier, sorry, Antwort aktzeptiert

(17 Mär '14, 22:15) thor
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:

×273

gestellte Frage: 10 Mär '14, 08:56

Frage wurde gesehen: 5,410 Mal

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