PGFPlots Paket - Fragen und Antworten

Fragen von TeXwelt.de zum Thema

Klicke auf den Titel, um die Antworten zu lesen - oder sieh alle PGFPlots-Fragen

08/25/2016 09:01 AM
Kann ich die Koordinatenpunkte mit Rechtecken ersetzen?

Kann ich den Koordinatenpunkt mit einem Rechteck, dessen Größe ich definiere ersetzen? Z.b. Länge 0.1/Höhe 0.12?

Open in Online-Editor
\documentclass{article}

\usepackage{tikz,pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[enlargelimits=0.2,colorbar]
\addplot[
scatter,mark=square*,only marks,
point meta=\thisrow{myvalue}
]
table {
x y  myvalue
0.5  1 0.25
0.2  2 3
0.7  3 0.75
0.35  4 0.125
0.65  5 2
};
\end{axis}
\end{tikzpicture}

\end{document}


08/23/2016 10:33 AM
Wellenlängenbereich und Achse synchronisieren


Follow-up zu Wellenlängenbereich UNTER diagramm?


Meine V-lambda-Kurve erstreckt sich von etwas unter 350nm bis etwas über 800nm. Ich finde, dass das ganz schick und übersichtlich aussieht.

Ich gebe hier mal ein paar Werte für das Nachtsehen.csv und das Tagsehen.csv dazu. Vielleicht versteht man dann besser was ich meine.

Nachtsehen.csv

Open in Online-Editor
380     0.000589
390     0.002209
400     0.00929
510     0.997
750     0.00000076
760     0.000000425
770     0.000000241
780     0.000000139

Tagsehen.csv

Open in Online-Editor
380     0
390     0.0001
400     0.0004
550     0.995
560     0.995
750     0.00012
760     0.00006
770     0.00003
780     0.000015

Das sichtbare Licht erstreckt sich in einem Bereich von 380nm bis 780nm. Die anderen Bereiche sieht man dann nicht. Kann man dann den Wellenbereich genau der kompletten x-Achse anpassen? Jetzt stimmen nämlich die Zahlen nicht überein!

alt text


08/22/2016 01:31 PM
Wellenlängenbereich UNTER diagramm?

Hallo,

ich würde gerne eine wave unter meinem Diagramm einfügen. Das Diagramm hat einen x-Bereich von 340-800 nm und ich würde gerne genau DEN Farbbereich dort einfügen, dass man sieht, wenn ich meine Kurve im Diagramm habe, welcher Punkt, welcher Farbe entspricht. !alt text

Ich habe das nun soweit umgeändert, wie es Henry mir gesagt hat, jedoch passt die Welle nicht mit der x-Achse überein. Ich habe zusätzlich ein paar Werte der .csv Datei hinzugefügt.

Hoffe ihr koennt mir weiterhin helfen!

Open in Online-Editor
\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{xcolor}
\usepackage{pgfplots}
\usetikzlibrary{
quotes,
angles,
babel,
calc,
3d,
intersections,
shapes,
}
\usepackage{tikz}
\usepackage{graphicx}
\begin{document}
\begin{figure}[h]
\centering  
\begin{tikzpicture}

\begin{axis}[ymin=0,grid,
width=0.9\textwidth,
height=0.3\textheight,
%xmin = 350,
%xmax = 750, %geringer wie 750 kann ich hier leider nicht gehen
title = {V-$\lambda$-Kurve},
axis line style={ultra thick},
xlabel={Wellenlänge $\lambda$ [nm]},
ylabel={Hellempfindlichkeitsgrad V [-]},
legend style={at={(1,1)}, anchor=north east, nodes=right}, name=main
]
\addplot [no marks, very thick, red]table {Tagsehen.csv};
\addplot [no marks, very thick, blue]table {Nachtsehen.csv};
\legend{Tagsehen, Nachtsehen};
\end{axis}

\begin{scope}[shift=(main.below south west)]
\shade[shading=rainbow,shading angle=90] (0,0) rectangle +(0.8\textwidth,-.5);
\foreach \lambda in {400,450,...,700} {
    \draw ({(\lambda-400)/300*0.8\textwidth},-.4) -- ({(\lambda-400)/300*0.8                \textwidth},-.5) node [below] {\lambda};
}
\end{scope}
\end{tikzpicture}
\caption {Relative-Spektrale-Hellempfindlichkeitskurve \cite{Reif.2014}}
\label{Vlambda}
\end{figure}
\end{document}

Ein paar Werte für das Tag- und Nachtsehen sind

Open in Online-Editor
Tagsehen
380 0
390 0.0001
400 0.0004
410 0.0012
420 0.004
550 0.995
560 0.995
740 0.00025
750 0.00012
760 0.00006
770 0.00003
780 0.000015

Nachtsehen
380 0.000589
390 0.002209
400 0.00929
410 0.03484
420 0.0966
430 0.1998
500 0.982
510 0.997
760 0.000000425
770 0.000000241
780 0.000000139


08/22/2016 11:30 AM
Wie realisiere ich ein Diagramm mit einem Rechteck als Koordinatenpunkt und Füllung

In meinem Diagramm, habe ich mehrere Koordinaten-Punkte. Diese Koordinatenpunkte besitzen auch einen Wert (Spalte C in meinem Table). Ich möchte den Koordinaten Punkt mit einem Rechteck ersetzen. (Die Rechtecke haben jedesmal die gleiche Größe) Die Füllung von diesem Rechtecks soll dem Wert des Punktes entsprechen (Spalte C im Table). Danke

Open in Online-Editor
\documentclass{article}

\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest}

\pgfdeclareplotmark{filled circle}{%
  \pgfpathellipse
    {\pgfpointorigin}%
    {\pgfqpoint{\pgfplotmarksize}{0sp}}%
    {\pgfqpoint{0sp}{\pgfplotmarksize}}%
  \pgfusepathqfill% mark=* uses \pgfusepathqfillstroke instead
}

\begin{document}

\pgfplotstableread{
     A B C
     1 1.5 10
     2 2 40 
     3. 4.2 2000 
     1.6 4.5 400 
}\datentabelle

\begin{tikzpicture}
\begin{axis}[
colorbar,
grid=both,
xmin=0, xmax=9,
ymin=0, ymax=9,
legend entries={$\tau$},
title=Diagramm
]

\addplot[
  scatter,
  only marks,
  scatter src=explicit,
  mark=filled circle,
  mark options={draw=none},
  scatter/@pre marker code/.append style={%
    /tikz/mark size={.8pt+\pgfplotspointmetatransformed/550},
  },
]
  table[meta expr=abs(\thisrow{C})] {\datentabelle};
\end{axis}
\end{tikzpicture}
\end{document}

Danke.


08/17/2016 01:52 PM
Kurve lässt sich nicht ploten (pgfplots) aufgrund einer möglichen falschen Einstellung

Leider bereitet mir das folgende semi-logarithmische Diagramm immer noch einiges an Kopfzerbrechen. Der Screenshot unten in meinem Post sollte die Formel der Kurve sein, welche dargestellt werden sollte. Leider funktioniert die Auswertung nicht. Vielleicht liegt es an dem domain-Befehl? Könnt ihr mir weiterhelfen? Danke.

Testbeispiel:

Open in Online-Editor
    \usepackage{pgfplots}
    \pgfplotsset{width=15cm,height=15cm}
    \begin{document}
    \begin{center}
    \begin{minipage}{\linewidth}
    \centering
    \begin{tikzpicture}[baseline=(current axis.south)]
        \begin{semilogxaxis}[
            domain=0.125:1e7,
            xmin=1e3, xmax=1e7,
            ymin=1e-7, ymax=1e-5,
            samples=400,
            axis y line=center,
            axis x line=middle,
        ]
            %\addplot+[mark=none] {40-0.2*x};
            %\addplot+[mark=none] {5/x};
            %\addplot+[const plot mark right] table[x=spalteA,y=spalteB] {1.dat};
            \addplot+[mark=none] {100*(1e6/x)^{1/5}; %Meine Kurve Siehe Formel
        \end{semilogxaxis}
    \end{tikzpicture}
    \end{minipage}

\end{center}
\end{document}

Anbei die Formel: alt text


08/16/2016 04:45 PM
Kurve wird im Diagramm nicht angezeigt (Dimension too large)

In meinem Testbeispiel wird das letzte Diagramm nicht ordnungsgemäß angezeigt. Lt. Fehlermeldung dürfte ein Bereich überschritten sein. Jedoch verwende ich die gleichen Werte wie bei den zwei Diagrammen davor ("manuelle Eingabe der Koordinaten" direkt im TexStudio). Anbei mein Test-Code. Danke für eure Hilfe zur späten Stunde. Leider ist der Code für ein Minimalbeispiel relativ lang.

Fehlermeldung:

Open in Online-Editor
Dimension too large \end{semilogxaxis}
running in backwards compatibility mode (unsuitable tick labels; missing features). Consider writing \pgfplotsset{compat=1.8} into your preamble.

Dat-File:

Open in Online-Editor
spalteB spalteA
5000    200
10000   200
150000  150
900000  125
2000000 100
4500000 50
6500000 25

Code:

Open in Online-Editor
%\documentclass{article}
\documentclass{scrartcl} 
\usepackage{pgfplots}
\pgfplotsset{width=6cm,height=6cm} %*******************

\begin{document}
\begin{center}
\begin{minipage}{\linewidth}%*******************
\centering%*******************

%\begin{tikzpicture}[baseline=(current axis.south)]
%
%
%\begin{semilogxaxis}
%[
%    enlarge x limits=false,
%    no marks,
%    grid=both,
%    xmin=1, xmax=1e7,
%    ymin=0, ymax=220,
%    legend entries={$\sigma$},
%    ylabel={$f(x)=x$},
%    xlabel={$f(x)=x$}
%]
%\addplot+[const plot] table[x=spalteA,y=spalteB] {1.dat}; % für stufendiagramm
%\end{semilogxaxis}
%\end{tikzpicture}

\begin{tikzpicture}[baseline=(current axis.south)]
\begin{semilogxaxis}
[
    enlarge x limits=false,
    no marks,
    grid=both,
    xmin=1e3, xmax=1e7,
    ymin=0, ymax=220,
    legend entries={$\sigma$},
    ylabel={$f(x)=x$},
    xlabel={$f(x)=x$}
]

%manuelles einlesen der koordinaten
\addplot+[ybar interval] plot 
coordinates
{(5000,200)
(10000,200)
(150000,150)
(900000,125)
(2000000,100)
(4500000,50)
(6500000,25)};

\end{semilogxaxis}
\end{tikzpicture}

\begin{tikzpicture}[baseline=(current axis.south)]
\begin{semilogxaxis}
[
    enlarge x limits=false,
    no marks,
    grid=both,
    xmin=1e3, xmax=1e7,
    ymin=0, ymax=220,
    legend entries={$\sigma$},
    ylabel={$f(x)=x$},
    xlabel={$f(x)=x$}
]
%Striche Runter
\addplot+[const plot mark right]
coordinates
{(5000,200)
(10000,200)
(150000,150)
(900000,125)
(2000000,100)
(4500000,50)
(6500000,25)};

\end{semilogxaxis}
\end{tikzpicture}
\begin{tikzpicture} %[baseline=(current axis.south)]

\begin{semilogxaxis}
[
       enlarge x limits=false,
       no marks,
       grid=both,
       xmin=1, xmax=1e8,
       ymin=0, ymax=220,
       legend entries={$\sigma$},
       ylabel={$f(x)=x$},
       xlabel={$f(x)=x$}
]
%\addplot table[x=spalteA,y=spalteB] {1.dat}; %für das einlesen der dat Datei
\addplot+[const plot] table[x=spalteA,y=spalteB] {1.dat}; % für stufendiagramm
\end{semilogxaxis} 
\end{tikzpicture}

\end{minipage}%*******************
\end{center}%*******************
\end{document}


08/16/2016 11:31 AM
Wie kann ich ein Stufendiagramm erzeugen? (Daten kommen aus einer .dat-Datei)

Wir ihr bei meinem Testbeispiel seht, ist meine x-Achse logarithmisch jedoch aber die y-Achse linear. Die Daten lese ich in Form einer .dat Datei ein.

Anbei meine .dat Datei:

Open in Online-Editor
spalteB spalteA
160 9600
120 251000
80  900000
40  3000000
30  3500000
10  5500000

Anbei mein Testbeispiel:

Open in Online-Editor
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{semilogxaxis}
[
    enlarge x limits=false,
    no marks,
    grid=both,
    xmin=0, xmax=1e7,
    ymin=0, ymax=200,
    legend entries={$\sigma$}
    title=345443,
    ylabel={$f(x)=x$},
    xlabel={$f(x)=x$}
 ]
%\addplot+[const plot]
\addplot+ table[x=spalteA,y=spalteB, const plot] {1.dat};

\end{semilogxaxis}
\end{tikzpicture}
\end{document}

Was ich gerne erreichen würde: Ein Stufendiagramm ohne manuelle Berechnung der "Zwischen Punkte". alt text


07/18/2016 04:34 PM
pgfplots, Abstand im Balkendiagramm zwischen Balken verkürzen, ybar

Hallo, ich bin gerade am verzweifeln. Ich möchte ein Balkendiagramm mit tikz, pgfplots erstellen. Zu jedem Wert gibt es drei Balken. Das Problem ist, dass ich den Abstand zwischen den beiden Plots nicht verkürzen kann. Ich würde gerne den weißen Abstand in der Mitte verkleinern, weiß aber nicht wie. Kann mir jemand helfen?

Mein Code:

Open in Online-Editor
\documentclass{scrartcl} 
\usepackage[ngerman]{babel} 
\usepackage{tikz}
\usepackage{pgfplots} 
\pgfplotsset{compat=1.9} 
\usepackage{pgfplotstable}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    x tick label style={
        /pgf/number format/1000 sep=},
    ylabel=Population,
    enlargelimits=0.15,
    ybar,
    bar width=7pt,
    xtick={1930,1940},
    xmin=1930, xmax=1940
]
\addplot 
    coordinates {(1930,50e6) (1940,33e6)};

\addplot 
    coordinates {(1930,38e6) (1940,42e6)};

\addplot 
    coordinates {(1930,15e6) (1940,12e6)};

\addplot[red,sharp plot,update limits=false] 
    coordinates {(1910,4.3e7) (1990,4.3e7)} 
    node[above] at (axis cs:1950,4.3e7) {Houses};
\end{axis}
\end{tikzpicture}

\end{document}

Das Liefert folgendes:

Ist

Ich hätte gerne aber soetwas:

Soll

Ich hoffe ihr könnt mir helfen.


06/27/2016 09:07 PM
Wie kann ich in pgfplots den Parameter an eine Parameterfunktion-Kurvenschar schreiben?

alt text

Wieso geht eigentlich

Open in Online-Editor
foreach \k in {1,...,5}{
            \addplot+[mark=none, blue] {x^(\k+2) - x^(\k+1) -1} node[above, ]{\k};
}

nicht?

Wenn man irgendeinText statt \k verwendet, geht es. :(

Falsche Eingabe oder ein Bug?

BTW: Hat jemand eine Idee für einen gescheiten Maßstab, so dass die Kurven 'kurviger' werden?

Open in Online-Editor
\documentclass[border=5pt, varwidth]{standalone}
%\documentclass[ngerman]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}
[
%title =,
xlabel = $x$,
ylabel = $y$,
samples = 200,
domain = -2:2,
%ymin= -1,
ymax = 10,
ymin=-10,
xmax=2,
axis lines = middle, 
%y=0.2cm,
%x=1cm
]
\foreach \k in {1,...,5}{
        \addplot+[mark=none, blue] {x^(\k+2) - x^(\k+1) -1} ;
        % node[above, ]{\k};
}
\end{axis}
\end{tikzpicture}
\end{document}


06/27/2016 07:26 PM
Achsenbeschriftung mit TikZ-Formen

Ich würde gerne die x-Achse eines Diagramms mit verschiedenen Formen wie Kreise, Rechtecke, etc. beschriften und nicht mit Zahlen/Buchstaben.

Folgendes Beispiel:

Open in Online-Editor
\documentclass[12pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{patterns}
\begin{document} 
\begin{figure}
\centering
\begin{tikzpicture}[scale=1]
\begin{axis}[
xtick={1,2,3},
]

\addplot[pattern = north west lines,ybar,pattern color=blue]
coordinates {(1,4.6)};
\addplot[pattern = north west lines,ybar,pattern color=blue]
coordinates {(2,4.8)};
\addplot[pattern = north west lines,ybar,pattern color=blue]
coordinates {(3,7.6)};

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

alt text

Und jetzt würde ich gerne die x-Achse anstatt mit "1,2,3" mit TikZ-Grafiken beschriften. Also irgendwie in der Art:

Open in Online-Editor
xticklabels={ \begin{figure}
\begin{tikzpicture}
\draw  (0,0) circle [radius=1cm];
\end{tikzpicture}
\end{figure},2,3  }


06/27/2016 06:27 PM
Achsenbeschriftung mit Bildern

Hallo,

ich würde gerne die x-Achse eines Diagramms mit verschiedenen Formen wie Kreise, Rechtecke, etc. beschriften und nicht mit Zahlen/Buchstaben.

Open in Online-Editor
\begin{figure}
\centering
\begin{tikzpicture}[scale=1]
\begin{axis}[
xtick={1,2,3}
]

\addplot[pattern = north west lines,ybar,pattern color=blue]
coordinates {(1,4.6)};
\addplot[pattern = north west lines,ybar,pattern color=blue]
coordinates {(2,4.8)};
\addplot[pattern = north west lines,ybar,pattern color=blue]
coordinates {(3,7.6)};

\end{axis}
\end{tikzpicture}
\end{figure}

liefert:

alt text

und jetzt möchte ich anstatt "1,2,3" die x-Achse mit Bildern beschriften.

habs über

Open in Online-Editor
xtick={\includegraphics{Bild1},\includegraphics{Bild2},\includegraphics{Bild3}}

erfolglos probiert.

Alternativ könnte ich die Formen auch direkt über Tikz erstellen. Ich wäre über Lösungsvorschläge sehr dankbar.


06/25/2016 07:14 PM
Problem mit symbolic x coords und \draw

Ich habe folgenden funktionierenden Code für ein Diagramm:

Open in Online-Editor
\documentclass[12pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{patterns}
\pgfkeys{/pgf/number format/.cd ,use comma ,set thousands separator={ }}  
\pgfplotsset{ every axis label/.append style={font=\scriptsize},  
every tick label/.append style={font=\scriptsize}} % globale Einstellungen.
\pgfplotsset{scaled y ticks=false} %keine wiss. notation bei achsen

\begin{document}
% nur eine Säule anzeigen
\pgfplotsset{/pgfplots/ybar legend/.style={
        /pgfplots/legend image code/.code={\draw[##1,/tikz/.cd,bar
width=3pt,yshift=-0.2em,bar shift=0pt] plot coordinates {(0cm,0.8em)
};},
    }}

 begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
width=\textwidth,
    height=8cm,
    ymax = 70000,
legend style={at={(0.5,-0.5)},
anchor=north,legend columns=-1, draw=none},
ybar,
xtick = {1,2,3,4,5,6,7,8,9,10,11,12,13,14},
x tick label style={rotate=90}, %Achsenbeschriftung drehen
grid,
grid style={dashed}, 
]

\addplot[pattern = north west lines, pattern color = blue]
coordinates {   
(1,1069) (2, 486) (3, 314) (4, 671) (5, 2566) (6, 1324) (7, 912) (8, 4518) (9, 2259) (10, 1539) 
(11, 1086) (12, 2060) (13, 1539) (14, 1086)};

\addplot[pattern = north west lines, pattern color = gray]
coordinates {   
(1,5051) (2, 2268) (3, 1420) (4, 1033) (5, 14948) (6, 8000) (7, 5464) (8, 45249) (9, 25189) (10, 17212)
(11, 12225) (12, 54645) (13, 41152) (14, 29155)};

\draw [black,thick] (0.8,10000) --(4.2,10000)    
node[pos = 0.5,above] {Größe 1};

\draw [black,thick] (4.8,20000) --(7.2,20000)    
node[pos = 0.5,above] {Größe 2};

\draw [black,thick] (7.8,50000) --(11.2,50000)   
node[pos = 0.5,above] {Größe 3};

\draw [black,thick] (11.8,60000)--(14.2,60000)   
node[pos = 0.5,above] {Größe 4};

\legend{alt,neu}
\end{axis} 
\end{tikzpicture}
\end{figure}

\end{document}

Damit erhalte ich folgendes Diagramm: alt text

Anstatt mit Zahlen möchte ich die x-Achse jedoch mit verschiedenen Artikelbezeichnungen beschriften, so wie hier:

alt text

Normalerweise geht das ja dann über symbolic x-coords. Also hiermit:

Open in Online-Editor
symbolic x coords={KBH1 150 A, KBH1 150 B, KBH1 150 C, KBH1 150 D, KBH1 250 B, KBH1 250 C, KBH1 250 D, KBH1 350 A, KBH1 350 B, KBH1 350 C, KBH1 350 D, KBH1 450 B, KBH1 450 C, KBH1 450 D},

xtick={KBH1 150 A, KBH1 150 B, KBH1 150 C, KBH1 150 D, KBH1 250 B, KBH1 250 C, KBH1 250 D, KBH1 350 A, KBH1 350 B, KBH1 350 C, KBH1 350 D, KBH1 450 B, KBH1 450 C, KBH1 450 D},

Nur dann bekomme ich logischerweise eine Fehlermeldung für \draw da es die x-Koordinaten nicht kennt. Schreibe ich nun aber:

Open in Online-Editor
\draw [black,thick] (KBH1 150 A,10000)  --(KBH1 150 D,10000)     
node[pos = 0.5,above] {Größe 1};

Bekomme ich die Fehlermeldung:

Open in Online-Editor
! Package PGF Math Error: Unknown function `KBH1' (in 'KBH1 150 A').See the PGF Math package documentation for explanation.Type H <return> for immediate help.... \end{axis}

! Package PGF Math Error: Unknown function `KBH1' (in 'KBH1 150 A').See the PGF Math package documentation for explanation.Type H <return> for immediate help.... \end{axis}

Wie bekomme ich es also hin, dass ich ein \draw mit symbolic x-coords hinbekomme damit ich sowohl die Artikelbezeichnungen auf der x-Achse erhalte als auch die horizontalen Linien über den Säulen behalte? Im Prinzip brauche ich eine Kombination aus beiden Diagrammen.

Nachtrag: An den Leerzeichen in den symbolic x-coords liegt es nicht, das habe ich bereits getestet mit dem gleichen Fehlermeldungen als Ergebnis.


06/04/2016 05:37 PM
Erstellung Nyquist Diagramm von Impedanzmessung.

Hey!

Ich habe 10 Datensätze, jeweils habe ich die gleiche Frequenz und dazugehörig unterschiedliche reale und imaginäre Widerstandswerte (Z' und Z''). Ich möchte Z'' über Z' abbilden, also Z' als x-Achse. Theoretisch sind die Frenquenzwerte irrelevant, aber es sind nunmal keine gleichen x-Werte. Ich hätte gerne die Graphen in einem Diagramm, mit pgfplots komm ich nicht weiter.

haha, tut mir Leid! Ich werds mehr mathematisch beschreiben :D

Ich habe einige txt files mit 3 Spalten, die erste zeigt die Frequenz, die zweite einen Impedanzwert (realer elektrischer Widerstand), und die dritte Spalte den imaginären Widerstand (eigentlich irrelevant wie das heißt), hier nur ein ausschnitt:

Open in Online-Editor
freq. /Hz   Z1 /mohm    Z2 /mohm
1.000E+05   4.025E-01   3.786E-02
6.310E+04   4.320E-01   -2.213E-02
3.981E+04   4.613E-01   -6.642E-02
2.512E+04   4.989E-01   -9.858E-02
1.585E+04   5.430E-01   -1.220E-01
1.000E+04   5.904E-01   -1.385E-01
6.310E+03   6.396E-01   -1.458E-01
3.981E+03   6.876E-01   -1.501E-01
2.512E+03   7.341E-01   -1.512E-01
1.585E+03   7.786E-01   -1.503E-01
1.000E+03   8.204E-01   -1.511E-01
6.310E+02   8.604E-01   -1.557E-01
3.981E+02   9.010E-01   -1.650E-01
2.512E+02   9.468E-01   -1.798E-01

Jetzt möchte ich am liebsten ein Diagramm haben, mit Z1 als X-Achse und Z2 als Y-Achse. Die txt Datei ist automatisch mit tab's getrennt, sodass man die relativ problemlos einlesen können sollte.

Wenn ich pgfplots nutze, ließt er ja automatisch die erste Spalte als x-Achse ein, ich möchte aber die Spalte gerne festlegen. (sonst muss ich jedes per hand in excel öffnen und löschen usw -.-)

mein code:

Open in Online-Editor
\documentclass[paper=a4,12pt,version=last]{scrartcl}
\usepackage{pgfplots}

 \begin{document}
 \centering
\begin{tikzpicture}
    \begin{loglogaxis}[
    legend pos = outer north east,      
    axis lines = left,
    xlabel = $Z'$,
    ylabel = {$-Z''$},
    width=0.4\textwidth,
    height=0.4\textheight,
        title={Nyquist Plot},
        ]

    \pgfplotstableread{vari/0A.txt}
    \datatable
        \addplot table[y=Z1] {vari/0A.txt};
    %\addplot table[y=Z2] {vari/0A.txt};

        \legend{Z',Z''}

    \end{loglogaxis}

     \end{tikzpicture}
    \end{document}

Ich muss wahrscheinlich was anderes nutzen als pgfplotstableread um die x-Achse festzulegen? Ich hab quasi für jeden Datensatz unterschiedliche x-Werte, außer die Frequenz ist gleich, die sieht man aber im graphen nicht, man weiß nur in welcher Richtung der Graph zeitlich abgebildet wird:

alt text

Ich starte die Messung bei einer hohen Frequenz, und je geringer diese wird, desto mehr wandert der Graph nach rechts. (Für Interessierte: bei Stromänderung ändert sich Verlauf, Impedanzmessung einer Brennstoffzelle)


05/10/2016 08:03 AM
siunitx und pgfplots (mit externalize) stören sich gegenseitig

Ich bin z.Z. an einem größeren Dokument am Arbeiten und habe jetzt mein Einheitensystem auf siunitx umgestellt (hatte vorher keins). Das Dokument beinhaltet ca. 20 Diagramme die aus großen CSV Dateien gebaut werden (bis zu 2000 Datenpunkte pro Diagramm). Dies lässt sich bekannter Weise ja nur mit externalize lösen.

Soweit so gut. Problem ist nun Latex ist nicht mehr in der Lage die externen Diagramme neu zu erstellen dafür reicht der Speicher nicht aus. Sind die externen Diagramme noch vorhanden (konnte erstellt werden wie noch kein siunitx vorhanden war), klappt alles Problemlos. Lösch ich diese Dateien klappt nichts mehr.

Leider habe ich glaub ich auch von einem Prof. eine schlechte Latex-Vorlage bekommen, die reinste Anarchie.

Im Anhang Log und Minimalbeispiel

Open in Online-Editor
<use ./Bilder/Umkehrspiel.jpg>   Package pdftex.def Info: ./Bilder/Umkehrspiel.jpg used on input line 314.   (pdftex.def) Requested size: 341.43307pt x 205.01907pt.   [25 <./Bilder/Spindel.jpg> <./Bilder/Umkehrspiel.jpg>] [26]

 LaTeX Warning: Reference `Dia:SF8' on page 27 undefined on input line 383.

 LaTeX Warning: Reference `Dia:SF12' on page 27 undefined on input line
383.

 \openout4 = `000-Vorlage-figure2.md5'.

 \openout4 = `000-Vorlage.auxlock'.

 ===== 'mode=convert with system call': Invoking 'pdflatex
-shell-escape -halt-o   n-error -interaction=batchmode -jobname "000-Vorlage-figure2" "\def\tikzexterna   lrealjob{000-Vorlage}\input{000-Vorlage}"'
========   runsystem(pdflatex -shell-escape -halt-on-error -interaction=batchmode -jobname   "000-Vorlage-figure2" "\def\tikzexternalrealjob{000-Vorlage}\input{000-Vorlage }")...executed.

 \openout4 = `000-Vorlage.auxlock'.

 ! Package tikz Error: Sorry, the system call 'pdflatex -shell-escape
-halt-on-e   rror -interaction=batchmode -jobname "000-Vorlage-figure2" "\def\tikzexternalre   aljob{000-Vorlage}\input{000-Vorlage}"' did NOT result in a usable output file '000-Vorlage-figure2' (expected one of .pdf:.jpg:.jpeg:.png:). Please verify th   at you have enabled system calls. For pdflatex, this is 'pdflatex
-shell-escape   '. Sometimes it is also named 'write 18' or something like that. Or maybe the c   ommand simply failed? Error messages can be found in '000-Vorlage-figure2.log'.   If you continue now, I'll try to typeset the picture.

 See the tikz package documentation for explanation.   Type H <return> for immediate help.   ...

 l.404 \end{tikzpicture}

 This error message was generated by an \errmessage   command, so I can't give any explicit help.   Pretend that you're Hercule Poirot: Examine all clues,   and deduce the truth by order and method.

 Runaway definition?  
->\pgfsyssoftpath@movetotoken {256.23254pt}{135.9611pt}\pgfsyssoftpath@curvetos upportatoken \ETC.   ! TeX capacity exceeded, sorry [main memory size=3000000].   <argument> ...th@curvetosupportatoken {255.33713pt   }{133.9611pt}\pgfsyssoftpa...   l.404 \end{tikzpicture}

 If you really absolutely need more capacity,   you can ask a wizard to enlarge me.

 Here is how much of TeX's memory you used:   39504 strings out of 493634   912231 string characters out of 3141308   3000001 words of memory out of 3000000   42117 multiletter control sequences out of 15000+200000   78801 words of font info for 61 fonts, out of 3000000 for 9000   1025 hyphenation exceptions out of 8191   64i,12n,103p,10373b,2071s stack positions out of 5000i,500n,10000p,200000b,50000s   !
==> Fatal error occurred, no output PDF file produced!

Main.tex:

Open in Online-Editor
\documentclass[ngerman,12pt]{article} % scrreprt article}
\usepackage{german}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} %Deutsche Formatierungen. Zeilenumbrüche, Umlaute..
\usepackage{lmodern}
\usepackage{cite}
\usepackage{float}
\usepackage{hyperref}
\usepackage{setspace}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{chngcntr}
%\usepackage{epstopdf}
\usepackage{siunitx}
\sisetup{
    locale = DE ,
    per-mode = symbol
}
\counterwithin{figure}{section}
\usepackage[table]{xcolor}
% % % % Diagramme Ausschalten --> Zweite Zeile Auskommentieren
\newif\iftabelle
\tabelletrue

\input{00-settings}
\sloppy

\begin{document}

    \input{01-titlepage}
    \begin{onehalfspace}                %Zeilenabstand 1,5
        \pagenumbering{arabic}          % arabic page numbers for following pages
        \input{02-einleitung}
        \input{03-grundlagen}
        \input{05-untersuchungen}
        \input{06-versuche}
        \input{07-faehigkeitsuntersuchungen}
        \input{08-fazit-verbesserungen}
    \end{onehalfspace}
    \begin{appendix}                    %Definierung Anhang
        \input{09-anhang}
    \end{appendix}

\end{document}

Settings.tex:

Open in Online-Editor
% % % % % % % % Maße und Abstände
\usepackage[a4paper]{geometry}
    \geometry{a4paper, top=25mm, left=25mm, right=25mm, bottom=25mm, headsep=10mm, footskip=8mm} % geometry for scientific article
    \setlength{\parindent}{0cm}

% % % % % % % % Headline and Footline
\usepackage{fancyhdr}
    \fancyhf{}
    \pagestyle{fancy}
    \renewcommand{\sectionmark}[1]{\markboth{#1}{}}
    \lhead{\MakeUppercase{\leftmark}} % Headline left
    \chead{}                          % Headline center
    \rhead{\thepage}                  % Headline right
    \lfoot{}                          % Footline left
    \cfoot{}                          % Footline center
    \rfoot{}                          % Footline right
    \renewcommand{\headrulewidth}{0.4pt}
    \renewcommand{\footrulewidth}{0.4pt}

\graphicspath{{./Bilder/}}  
%\sisetup{
%   locale = DE,
%   per-mode = symbol}

\hypersetup{pdfinfo={
        Title=XX,
        Author=XX}}

\numberwithin{equation}{subsection}
% % % % % % % % % % % PDGplot und Diagramme einfügen
\iftabelle
\usepackage{datatool,longtable}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\usepgfplotslibrary{dateplot}
\usepgfplotslibrary{external}
\usetikzlibrary{pgfplots.external}
\tikzexternalize
\pgfplotsset{/pgf/number format/use comma,
    /pgf/number format/read comma as period}

\pgfplotstableread{./Messwerte/i109.csv}\sekundendauerkrafttable
\pgfplotstableread{./Messwerte/u109.csv}\spannungsquelleeinhundertneun
\pgfplotstableread{./Messwerte/8N12N.csv}\aufblock
\pgfplotstableread{./Messwerte/i2.csv}\ihalbe
\fi


04/07/2016 11:15 AM
Festlegung der Definitionsmenge eines pgfplots-Graphen in einem xparse-Befehl

Ich benötige mehrere Graphen, die in Koordinatensystemen mit ähnlichen Eigenschaften dargestellt werden sollen. Daher habe ich einen entsprechenden xparse-Befehl definiert, der als Argumente die jeweiligen Achseneinstellungen, optional eine Angabe zum Definitionsbereich und schließlich den Funktionsterm erwartet.

Open in Online-Editor
\documentclass{article}
\usepackage{pgfplots}
\usepackage{xparse}

\NewDocumentCommand \Graph {m o m}
    {
        \begin{tikzpicture}
        \begin{axis}[axis lines=middle,xtick=\empty,ytick=\empty,#1]
        \addplot[semithick,samples=200,\IfNoValueF{#2}{domain=#2}] {#3};
        \end{axis}
        \end{tikzpicture}
    }

\begin{document}
\Graph{xmin=0,xmax=6.5,ymin=0,ymax=6}[0:6]{-53/360*(x-3)^4-1/20*(x-3)^3+437/360*(x-3)^2+9/20*(x-3)+1}
\end{document}

Das Beispiel liefert die Fehlermeldung ! Package pgf Error: Unknown arrow tip kind domain=. Was muss ich verändern?


03/23/2016 04:25 PM
Problem mit tikzexternalize

Hallo zusammen,

ich möchte gerne meine Grafiken mit tikzexternalize exportieren um mir das ständige neu-kompilieren zu sparen. Habe das in einem anderen Dokument auch schon wunderbar hinbekommen. Nur aktuell bekomme ich (in einem anderen Dokument) immer folgende Fehlermeldung:

Open in Online-Editor
Package tikz Error: Sorry, the system call 'pdflatex -shell-escape -halt-on-e
rror -interaction=batchmode -jobname "Abbildungen/Hauptdokument-figure1" "\def\
tikzexternalrealjob{Hauptdokument}\input{Hauptdokument}"' did NOT result in a u
sable output file 'Abbildungen/Hauptdokument-figure1' (expected one of .pdf:.jp
g:.jpeg:.png:). Please verify that you have enabled system calls. For pdflatex,
this is 'pdflatex -shell-escape'. Sometimes it is also named 'write 18' or som
ething like that. Or maybe the command simply failed? Error messages can be fou
nd in 'Abbildungen/Hauptdokument-figure1.log'. If you continue now, I'll try to
typeset the picture.
See the tikz package documentation for explanation.
Type H <return> for immediate help.
...
l.438 \end{tikzpicture}

Hat jemand eine Idee woran es liegen könnte? Danke

Edit:

Habe das Log-File hochgeladen: Log-File

Also wenn ich die Warnungen durchgehe, finde ich da so direkt nichts, was mich auf dieses Problem aufmerksam machen würde.

Minimalbeispiel:

Open in Online-Editor
\documentclass[12pt,a4paper]{report}
\usepackage[miktex]{gnuplottex}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{units}
\usepgfplotslibrary{external} 
\tikzexternalize[prefix=Plots/]

\begin{document}

\begin{figure}[h]
\begin{tikzpicture}[scale=1]
\begin{axis}[
smooth,
no markers, 
enlargelimits=false,

x unit=\si{\milli\metre}, 
y unit=\si{\newton\per\micro\meter},

]
\addplot table[x= l2,y = cD,col sep=tab]{Schaft_l100.txt};
\addlegendentry{$c_{\rm{D}}$}
\addplot table[x= l2,y = cB,col sep=tab]{Schaft_l100.txt};
\addlegendentry{$c_{\rm{B}}$}
\addplot table[x= l2,y = cT,col sep=tab]{Schaft_l100.txt};
\addlegendentry{$c_{\rm{T}}$}

\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}


03/22/2016 10:34 AM
Logo mit tikz nachzeichnen

Hallo,

ich möchte folgendes Logo mit tikz nachzeichnen.

alt text

Wie kann ich einen dieser 'Flügel' nachzeichnen und ihn dann mehrfach um den inneren Kreis platzieren?

Viele Grüße

Kurt


03/12/2016 09:02 PM
Graph einer Logarithmus-Funktion wird falsch gezeichnet

Beim Zeichnen einer Titrationskurve (mathematische Funktion siehe unten) gibt pgfplot einem zum Teil falschen Graph. Was mache ich falsch?

Open in Online-Editor
\documentclass{standalone}
  \usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
  xmin=0,
  xmax=0.02,
  ymin=0,
  ymax=14,
  ylabel={pH},
  axis x line=bottom,
  axis y line=left,
  ]
\addplot[domain=0:0.02, samples=1001,]{-log10(-0.5*(-0.01+\x)/(0.1+\x)+sqrt(0.25*((-0.01+\x)/(0.1+\x))^2+10^(-14)))};
\end{axis}
\end{tikzpicture}
\end{document}

alt text


03/07/2016 02:16 PM
Bestimmtheitsmaß einer Regressionsgerade

Ich plotte meine Daten mit pgfplots (http://pgfplots.net/tikz/examples/regression-line/ ). Ich möchte meiner Regressionsgeraden ein Bestimmtheitsmaß (R^2, R squared, coefficient of determination) hinzufügen. Dazu konnte ich weder auf deutsch noch englisch etwas finden. Jemand eine Idee? Danke!


03/07/2016 11:46 AM
Pgfplot zwei verknüpfte x-Achsen

Hallo zusammen,

ich versuche in einem Diagramm Daten aus einer Simulation darzustellen, wobei ich gerne 2 x-Achsen verwenden möchte. Aktuell habe ich nur eine der beiden Achsen darbestellt: Die Geschwindigkeit des Förderbandes

Open in Online-Editor
\documentclass{standalone}

\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{pgfplots}
\usepgfplotslibrary{units} 
\usepackage{pgf} 
\usepackage{tikz}

\begin{document}
\centering
\begin{tikzpicture}
\begin{axis}[
  width=\textwidth,
  height=8cm, 
  xmin=0, xmax=80,
  ymin=1800, ymax=2800,
  xlabel=Bandgeschwindigkeit / Meter pro Minute,
  ylabel=Tagesoutput / Stk.]
%\addplot table [y=FiltermengeX1, x=Bandgeschwindigkeit]{./Experimente/EXP3.dat};
%\addplot table [y=FiltermengeX2, x=Bandgeschwindigkeit]{./Experimente/EXP3.dat};
\begin{scope}
    \draw[]({axis cs:20,0}|-current axis.south) -- ({axis cs:20,0}|-current axis.north) node [midway, above left, sloped, xshift=0.5cm] (TextNode) {max. Geschwindigkeit};
\end{scope}
\fill[gray,fill opacity=0.25] (axis cs:0,0) rectangle (axis cs:20,2800);
%\addlegendentry{Filtermenge / Tag}
\end{axis}
\end{tikzpicture}

\end{document}

Nun möchte ich als zweite x-Achse den Zeitindex in [Minuten pro Meter] darstellen. Die Bandgeschwindigkeit und der Zeitindex hängen direkt voneinander ab: alt text

Als Länge des Trägers wird mit 0.24 m gearbeitet. Wie schaffe ich es die zweite Achse richtig darzustellen? Das ganze entspricht einer x zu 1/x Beziehung der beiden x-Achsen.

Die dargestellten Daten:

Open in Online-Editor
Zeitindex Bandgeschwindigkeit FiltermengeX1 FiltermengeX2
     0.001              240.00          2656        2668.5
     0.002              120.00          2661          2665
     0.003               80.00          2638          2658
     0.004               60.00          2660          2667
     0.005               48.00          2650        2671.5
     0.006               40.00          2670          2672
     0.007               34.29          2657          2654
     0.008               30.00          2642        2641.5
     0.009               26.67          2503        2509.5
      0.01               24.00          2376          2386
     0.011               21.82          2516        2544.5
     0.012               20.00          2628        2628.5
     0.013               18.46          2563        2568.5
     0.014               17.14          2438        2443.5
     0.015               16.00          2540          2545
     0.016               15.00          2551        2545.5
     0.017               14.12          2461        2465.5
     0.018               13.33          2430        2437.5
     0.019               12.63          2367        2386.5
      0.02               12.00          2358          2368
     0.021               11.43          2329        2329.5
     0.022               10.91          2374        2373.5
     0.023               10.43          2336          2339
     0.024               10.00          2273          2277
     0.025                9.60          2287        2288.5
     0.026                9.23          2306        2301.5
     0.027                8.89          2226        2231.5
     0.028                8.57          2233        2224.5
     0.029                8.28          2201        2198.5
      0.03                8.00          2209        2214.5
     0.031                7.74          2202          2185
     0.032                7.50          2162        2149.5
     0.033                7.27          2103        2114.5
     0.034                7.06          2113        2113.5
     0.035                6.86          2130        2139.5
     0.036                6.67          2116        2110.5
     0.037                6.49          2065          2075
     0.038                6.32          2076        2072.5
     0.039                6.15          2041          2042
      0.04                6.00          2033          2034

mein aktuelles Diagramm:

alt text

Danke im Voraus für eure Hilfe!

Schöne Grüße Robert Egger


02/08/2016 02:12 PM
Farbe bei Legendeneinträge bei pgfplots

Ich habs geschafft einen neuen Datensatz zu plotten. Bei diesem Beispiel werden allerdings die Farben der Legendeneinträge doppelt ausgegeben. Wie kann ich das verhindern?

Open in Online-Editor
\documentclass[fontsize=12pt,paper=a4]{scrartcl}
\usepackage{pgfplots,filecontents}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{dateplot}
\usepackage{tikzscale}  
\begin{filecontents}{external-debt.csv}
Quarter,Monetary authorities Short-term debt,General government,General government Short-term debt,General government Long-term debt,Deposit money banks Short-term debt,Deposit money banks Long-term debt,Other sectors,Direct investment,Total external debt,Total external debt-Direct investment,External debt position to GDP-ratio
2000-01-01,9594,131965,13816,118149,50818,133295,203488,13658,542818,13658,82.6
2000-04-01,13562,140222,18081,122141,78429,224328,149843,12981,619365,12981,92.6
2013-10-01,29439,556918,0,556918,125319,21850,10079872,1372697,12328310,1372697,613.3
2014-01-01,26667,514831,0,514831,129525,26652,9921453,1337141,12095886,1337141,592.3
\end{filecontents}

\begin{filecontents}{external-debt.tikz}
\begin{tikzpicture}
\sffamily
  \begin{axis}[
   date ZERO=2000-01-01,
     date coordinates in=x,
     no marks,
     width=15cm,height=8cm,
     enlargelimits=false,
     xticklabel={\tiny\year},
     xtick={2000-1-1,2001-01-01,2002-01-01,2003-01-01,2004-01-01,2005-01-01,2006-01-01,2007-01-01,2008-01-01,2009-01-01,2010-01-01,2011-01-01,2012-01-01,2013-01-01,2014-01-01},
     xtick pos=left,
     xtick align=outside,
     ymin=0,ymax=16 000 000,
     % assume math mode: nicht überprüfen ob der Mathemodus an ist
     % int detect: keine Nachkommastellen für ganze Zahlen anzeigen
     % 1000 sep={\,}: Kleiner Abstand zwischen 3er-Kolonnen
     yticklabel={\pgfmathprintnumber[assume math mode,int detect,1000 sep={\,}]{\tick}},
     % y-Achse nicht skalieren, sondern die tatsächliche Zahl im \tick angeben
     scaled y ticks=false,
     ytick style={draw=none},
     yticklabel pos=right,
     ymajorgrids=true,
    legend style={
      draw=none,
      legend cell align=left,
      %at={(0.00,1.4)},
      at={(1.15,1.05)},
       anchor=north west,
      legend image code/.code={
        \filldraw[##1] (-.5ex,-.5ex) rectangle (1ex,1ex);
      }
    }
    ]

    \addplot table[col sep=comma,x=Quarter,y={Monetary authorities Short-term debt}] {external-debt.csv};
    \addlegendentry{Monetary authorities Short-term debt};
     \addplot table[col sep=comma,x=Quarter,y={General government}] {external-debt.csv};
        \addlegendentry{General government};
         \addplot table[col sep=comma,x=Quarter,y={General government Short-term debt}] {external-debt.csv};
            \addlegendentry{General government Short-term debt};
             \addplot table[col sep=comma,x=Quarter,y={General government Long-term debt}] {external-debt.csv};
                \addlegendentry{General government Long-term debt};
                 \addplot table[col sep=comma,x=Quarter,y={Deposit money banks Short-term debt}] {external-debt.csv};
                    \addlegendentry{Deposit money banks Short-term debt};
                     \addplot table[col sep=comma,x=Quarter,y={Deposit money banks Long-term debt}] {external-debt.csv};
                        \addlegendentry{Deposit money banks Long-term debt};
                         \addplot table[col sep=comma,x=Quarter,y={Other sectors}] {external-debt.csv};
                            \addlegendentry{Other sectors};
                             \addplot table[col sep=comma,x=Quarter,y={Direct investment}] {external-debt.csv};
                                \addlegendentry{Direct investment};
                                 \addplot table[col sep=comma,x=Quarter,y={Total external debt}] {external-debt.csv};
                                    \addlegendentry{Total external debt};
                                     \addplot table[col sep=comma,x=Quarter,y={Total external debt-Direct investment}] {external-debt.csv};
                                        \addlegendentry{Total external debt-Direct investment};
                                         \addplot table[col sep=comma,x=Quarter,y={External debt position to GDP-ratio}] {external-debt.csv};
                                            \addlegendentry{External debt position to GDP-ratio};

  \end{axis}
\end{tikzpicture}
\end{filecontents}

\begin{document}
\begin{figure}
\begin{center}
\includegraphics[width=1.0\linewidth]{external-debt.tikz}
\end{center}
\label{Fig:interbankfinanzkredite}
\end{figure}    
\end{document}


02/07/2016 08:03 PM
Wie kann ich die Geschwindigkeit bei Kompilieren mit pgfplots erhöhen?

Ich verwende neuerdings einige pgfplots-Abbildungen. Gefühlt hat sich die Geschwindigkeit beim Kompilieren drastisch verringert.

In meinem Hauptdokument verwende ich für Bilder die draft Option und binde auch immer nur aktuelle Kapitel ein bzw. maskiere die nicht benötigten mit %include{}. Gibt es bei pgfplots eine empfehlenswerte Vorgehensweise , um die Geschwindigkeit zu erhöhen?


02/07/2016 02:45 PM
Wie verhindere ich einen Zeilenumbruch bei \addlegendentry?

Ich habe die Legende über die Abbildung gestellt, da ich diese mit textwidth vergrößert habe. In meinem Dokument, leider sieht man dies nicht im Minimalbeispiel, erhalte ich einen Zeilenumbruch. Wie kann ich gffs. beide Legeneinträge nebeneinander anstelle von unteneinander stellen? alt text

Open in Online-Editor
\documentclass[fontsize=12pt,paper=a4]{scrartcl}
\usepackage{pgfplots,filecontents}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{dateplot}
\usepackage{tikzscale}
\usepackage{blindtext}
\begin{filecontents}{cbisinterestrates.csv}
Date,Overnight CBI rates,CBI current account rates
1999-12-30,10.00,4.50
2000-01-04,10.00,4.50
2015-12-31,7.50,5.50
2016-01-01,7.50,5.50
\end{filecontents}
\begin{filecontents}{cbisinterestrates.tikz}
\begin{tikzpicture}
\sffamily
  \begin{axis}[
  date ZERO=2000-01-01,
    date coordinates in=x,
    no marks,
    width=12cm,height=6cm,
    enlargelimits=false,
    xticklabel={\tiny\year},
    xtick={2000-1-1,2001-01-01,2002-01-01,2003-01-01,2004-01-01,2005-01-01,2006-01-01,2007-01-01,2008-01-01,2009-01-01,2010-01-01,2011-01-01,2012-01-01,2013-01-01,2014-01-01,2015-01-01,2016-01-01},
    xtick pos=left,
    xtick align=outside,
    ymin=0,ymax=28,
    ytick={0,4,...,28},
    yticklabel={\pgfmathprintnumber[verbatim]{\tick}\%},
    ytick style={draw=none},
    yticklabel pos=right,
    ymajorgrids=true,
    legend style={
      draw=none,
      legend cell align=left,
      at={(0.00,1.4)},
      anchor=north west,
      legend image code/.code={
        \filldraw[##1] (-.5ex,-.5ex) rectangle (1ex,1ex);
      }
    }
    ]
    \addplot table[col sep=comma,x=Date,y={Overnight CBI rates}] {cbisinterestrates.csv};
    \addlegendentry{Overnight CBI rates};
    \addplot table[col sep=comma,x=Date,y={CBI current account rates}] {cbisinterestrates.csv};
    \addlegendentry{CBI current account rates};
  \end{axis}
\end{tikzpicture}
\end{filecontents}

\begin{document}
\begin{figure}
\begin{center}
\includegraphics[width=1.0\linewidth]{cbisinterestrates.tikz}
\end{center}
   \caption{Interbankfinanzkredite}
   \label{Fig:interbankfinanzkredite}
\end{figure}

\end{document}


02/06/2016 08:50 PM
Beschriftung/Angaben/Legende bei pgfplots

Ich war doch zu optimistisch, dass ich nun mit pgfplots umgehen kann.

Die Beschriftung auf der Y-Achse hab ich versucht in eine Währung zu ändern. Sie sollte in 50 000 Schritten bis zu 300 000 Kronen gehen. Der höchste Datenwert liegt bei 250 000 Kronen. Es gelingt mir nicht die Legende anzupassen. Wie sich das mit ymax und ytick bewerkstelligen lässt, erschließt sich mir nicht bzw. die Anpassung ist mir misslungen.

Open in Online-Editor
\documentclass[tikz]{standalone}
\usepackage{pgfplots,filecontents}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{dateplot}

\begin{filecontents}{infla.csv}
 Year,Interbank
 2000-01-01,48550
 2008-07-01,250100
 2015-12-01,22000
\end{filecontents}

\begin{document}
\sffamily   
\begin{tikzpicture}
\sffamily
\begin{axis}[
    date ZERO=2000-01-01,
    date coordinates in=x,
    no marks,
    width=12cm,height=6cm,
    enlargelimits=false,
    xticklabel={\tiny\year},
    xtick={2000-1-1,2001-01-01,2002-01-01,2003-01-01,2004-01-01,2005-01-01,2006-01-01,2007-01-01,2008-01-01,2009-01-01,2010-01-01,2011-01-01,2012-01-01,2013-01-01,2014-01-01,2015-01-01},
    xtick pos=left,
    xtick align=outside,
    ymin=0,ymax=300 000,
    yticklabel={\pgfmathprintnumber[verbatim]{\tick}ISK},
    ytick style={draw=none},
    yticklabel pos=right,
    ymajorgrids=true,
    legend style={
    draw=none,
     legend cell align=left,
   at={(1.12,1.05)},
  anchor=north west,
       legend image code/.code={
    \filldraw[##1] (-.5ex,-.5ex) rectangle (1ex,1ex);
   }
} ]       
    \addplot table[col sep=comma,x=Year,
              y={Interbank}] {infla.csv};
          \addlegendentry{ISK};
          \end{axis}
\
    end{tikzpicture}
    \end{document}


02/03/2016 09:23 AM
Stil-Profile für pgfplots

Hallo! Wäre es nicht eine gute Idee, wenn pgfplots um Standardprofile erweitert würde; ähnlich wie biblatex.

Zum Bsp. so:

\usepackage[xycoordinatesystem={style=germanschool}]{pgfplots}

legt so ein Layout fest:

alt text


01/23/2016 06:20 PM
pgfplots: Wieso werden 'width' und 'height' nicht respektiert bzw. Graph zu klein ausgedruckt?

Ich verwende width=3.5cm, height=2.5cm,; beim Audruck messe ich jedoch:

alt text

Woran liegt das?

Open in Online-Editor
\documentclass[paper=a5]{scrartcl}
%\documentclass[border=2pt, varwidth]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}% derzeit aktuelle Version
%\pgfplotsset{compat=newest}% Overleaf hat nur Version 1.11

\usepackage{filecontents}
\begin{filecontents}{data.csv}
5   0   0.59049 0.32768 0.23730 0.16807 0.07776 0.03125
5   1   0.91854 0.73728 0.63281 0.52822 0.33696 0.18750
5   2   0.99144 0.94208 0.89648 0.83692 0.68256 0.50000
5   3   0.99954 0.99328 0.98438 0.96922 0.91296 0.81250
5   4   0.99999 0.99968 0.99902 0.99757 0.98976 0.96875
\end{filecontents}

% Skalierbare Schrift
\usepackage{lmodern}
    \newcommand\mini{\fontsize{2.5pt}{3pt}\selectfont}
       \newcommand\Mini{\fontsize{3.5pt}{3pt}\selectfont}

\usepackage{lipsum}
\begin{document}
% Pfeil aus Technisches Zeichnen
\usetikzlibrary{arrows.meta}
\tikzset{
  >={Triangle[length=0pt 9.0009,width=0pt 3.0003]},
}
\pgfplotsset{
  % override ``-stealth'' for open axes
  every non boxed x axis/.append style={
    x axis line style={->}
  },
  every non boxed y axis/.append style={
    y axis line style={->}
  },
  every non boxed z axis/.append style={
    z axis line style={->}
  }
}
% ==================

\pgfplotsset{mystyle/.style={%
  % allgemein
%  ybar interval,%=10pt, ?  % Balkendiagramm
  /pgf/number format/use comma, % Kommas als Zahlentrennzeichen
  % x und y
  axis lines = middle,% < Achsenstil so früh wie möglich einstellen - er ändert weitere Optionen
  axis line style={->}, %y axis line style={-latex}, 
  ticklabel style = {font=\tiny},
  major tick length =2pt, 
  % x
  xmin=0,
  xmax=5, 
  xtick=data,
%  hide obscured x ticks=false,% <- zum Anzeigen des Ticklabels 0 % TUT NET
  xlabel style={anchor=north, font=\Mini,},
  enlarge x limits={abs=10pt,upper},% <- damit die Pfeilspitze an der y-Achse sichtbar ist
  xticklabel style = {yshift=0.5pt, font=\mini},
  % y
  ymin=0,
  ymax=1,
  ytick = {0.2, 0.4, ..., 1},
  ytickmax=1,% <- kein Tick oberhalb von y=.9
  ylabel style={anchor=north west, yshift=1ex, font=\Mini,},
  enlarge y limits={abs=10pt,upper},
  yticklabel style = {xshift=0.5pt, font=\mini},
}}%

\begin{tikzpicture}[
scale=1.0,
%inner sep=2pt, 
%outer sep=2pt, 
]
\begin{axis}[mystyle, 
  width=3.5cm, height=2.5cm,
  xlabel={$k$},
  ylabel={$P(X \leq k)$},
]
  \addplot[draw=gray, thin,  mark=*, mark size=0.75pt, mark options = {draw=black, fill=white, thin}] table [x index=1, y index=6] {data.csv};
   \addplot[draw=black, ultra thin, densely dashdotted, domain=0:5.5] {1};
  \end{axis} 
\end{tikzpicture}
\end{document}


01/23/2016 03:30 AM
Wie realisiere ich eine Pfeilspitze wie beim Technischen Zeichnen zur Verwendung in TikZ / pgfplots

Ich bin mir nicht sicher, aber ich glaube die Pfeilspitze (gleichschenkliges Dreieck) soll 3mal so lang wie breit sein und 3mal so dick wie die Linienbreite.

Wie kann ich so einen Pfeil erstellen und bei TikZ- bzw. pgfplots-Diagrammen, z.B. Koordinatensystem verwenden.

alt text

alt text

alt text

Open in Online-Editor
\documentclass[varwidth, border=2pt]{standalone}
%\documentclass[paper=a5]{scrartcl}
\usepackage{tikz}

\begin{document}

\def\x{0.4pt}
\begin{tikzpicture}[
%thick, 
scale=20,
]
\draw (0,1*\x) -- (0,-1*\x)  -- (2.5*\x,0) -- cycle ;

\draw[-latex, line width=0.4pt] (0,0) -- (3.0pt, 0);

%\def\x{0.4pt}
%\draw[yshift =-2cm, line width=\x,] (0,0) -- (9*\x, 0);
%\draw[yshift =-2cm, line width=\x,] (0,1.5*\x) -- (0,-1.5*\x);

\end{tikzpicture}

\end{document}


01/23/2016 02:25 AM
Wie stelle ich passende (kleinere) Schriftgröße bei pgfplots ein?

Ich bekomme die Schrift an der y-Achse nicht kleiner; bzgl. dr Vorgabe width=3.5cm, height=2.5cm, - diese Maße soll das Bild insgesamt haben :(

SOLL: Ich möchte in etwa diesen Style erreichen (Wolfram mathematica).

alt text

IST:

alt text

Open in Online-Editor
\documentclass[border=2pt, varwidth]{standalone}
\usepackage{pgfplots}
\usepackage{filecontents}
\begin{filecontents}{data.csv}
5   0   0.59049 0.32768 0.23730 0.16807 0.07776 0.03125
5   1   0.91854 0.73728 0.63281 0.52822 0.33696 0.18750
5   2   0.99144 0.94208 0.89648 0.83692 0.68256 0.50000
5   3   0.99954 0.99328 0.98438 0.96922 0.91296 0.81250
5   4   0.99999 0.99968 0.99902 0.99757 0.98976 0.96875
\end{filecontents}

\makeatletter
\newcommand{\srcsize}{\@setfontsize{\srcsize}{2pt}{5pt}}
\makeatother
\usepackage{lipsum}

\begin{document}

\tiny

\lipsum[1]

\bigskip

\srcsize

\lipsum[1]

\pgfplotsset{mystyle/.style={%
  % allgemein
%  ybar interval,%=10pt, ?  % Balkendiagramm
  /pgf/number format/use comma, % Kommas als Zahlentrennzeichen
  % x und y
  axis lines = middle,% < Achsenstil so früh wie möglich einstellen - er ändert weitere Optionen
  axis line style={-latex}, 
  ticklabel style = {font=\tiny},
  major tick length =2pt, 
  % x
  xmin=0,
  xmax=5, 
  xtick=data,
%  hide obscured x ticks=false,% <- zum Anzeigen des Ticklabels 0 % TUT NET
  xlabel style={anchor=north, font=\tiny,},
  enlarge x limits={abs=10pt,upper},% <- damit die Pfeilspitze an der y-Achse sichtbar ist
  xticklabel style = {yshift=1.5pt, font=\srcsize},
  % y
  ymin=0,
  ymax=1,
  ytick = {0.2, 0.4, ..., 1},
  ytickmax=1,% <- kein Tick oberhalb von y=.9
  ylabel style={anchor=north west, yshift=1ex, font=\tiny,},
  enlarge y limits={abs=10pt,upper},
  yticklabel style = {xshift=2pt, font=\srcsize},
}}%

\begin{tikzpicture}[scale=1.0]
\begin{axis}[mystyle, 
  width=3.5cm, height=2.5cm,
  xlabel={k},
  ylabel={$P(X \leq k)$},
]
  \addplot[draw=gray, thin,  mark=*, mark size=1.0075pt, mark options = {draw=black, fill=white, thin}] table [x index=1, y index=6] {data.csv};
   \addplot[draw=black, ultra thin, densely dashed, domain=0:5.5] {1};
  \end{axis} 
\end{tikzpicture}
\end{document}


01/22/2016 08:34 PM
pgfplots-Graph: Null auf x-Achse anzeigen, bei xticks=data

Was muss ich machen, damit noch die 0 auf der x-Achse angezeigt wird?

alt text

Open in Online-Editor
\documentclass[border=2pt, varwidth]{standalone}
\usepackage{pgfplots}
%\pgfplotsset{compat=1.13}% derzeit aktuelle Version
\pgfplotsset{compat=newest}% Overleaf hat nur Version 1.11

\usepackage{filecontents}
\begin{filecontents}{data.csv}
0   0.5905  0.3277  0.2373  0.1681  0.0778  0.0313
1   0.9185  0.7373  0.6328  0.5282  0.3370  0.1875
2   0.9914  0.9421  0.8965  0.8369  0.6826  0.5000
3   0.9995  0.9933  0.9844  0.9692  0.9130  0.8125
4   1.0000  0.9997  0.9990  0.9976  0.9898  0.9688
5
\end{filecontents}

\begin{document}

\pgfplotsset{mystyle/.style={%
  % allgemein
%  ybar interval,%=10pt, ?  % Balkendiagramm
  /pgf/number format/use comma, % Kommas als Zahlentrennzeichen
  % x und y
  axis lines = middle,% < Achsenstil so früh wie möglich einstellen - er ändert weitere Optionen
  axis line style={-latex}, 
  ticklabel style = {font=\tiny},
  major tick length =2pt, 
  % x
  xmin=0,
  xmax=5, 
  xtick=data,
 % hide obscured x ticks=false,% <- zum Anzeigen des Ticklabels 0 % TUT NET
  xlabel style={anchor=north, font=\tiny,},
  enlarge x limits={abs=10pt,upper},% <- damit die Pfeilspitze an der y-Achse sichtbar ist
  % y
  ymin=0,
  ymax=1,
  ytickmax=1,% <- kein Tick oberhalb von y=.9
  ylabel style={anchor=north west, yshift=1ex, font=\tiny,},
 enlarge y limits={abs=10pt,upper},
}}%

\begin{tikzpicture}[scale=2.0]
\begin{axis}[mystyle, 
  width=3.5cm, height=2.5cm,
  xlabel={k},
  ylabel={$P(X \leq k)$},
]
  \addplot[draw=gray, ultra thin,  mark=*, mark size=1.0075pt, mark options = {draw=black, fill=white, thin}] table [y index=6] {data.csv};
   \addplot[draw=black, ultra thin, densely dashed, domain=0:5.5] {1};
  \end{axis} 
\end{tikzpicture}
\end{document}


01/12/2016 04:00 PM
Wie stelle ich bei pgfplots ein, welche Tabellenspalte geplottet wird?

Wie stelle ich bei pgfplots ein, welche Tabellenspalte geplottet wird? Scheints wird die 2. Spalte unvollständig geplottet (mit 1. Spalte als x-Werte).

alt text

Open in Online-Editor
\documentclass[border=2pt, varwidth]{standalone}
%\documentclass[]{article}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{amsmath, amssymb, amsfonts}

\usepackage{filecontents}
\begin{filecontents}{data.csv}
0   0.5905  0.3277  0.2373  0.1681  0.0778  0.0313
1   0.9185  0.7373  0.6328  0.5282  0.3370  0.1875
2   0.9914  0.9421  0.8965  0.8369  0.6826  0.5000
3   0.9995  0.9933  0.9844  0.9692  0.9130  0.8125
4   1.0000  0.9997  0.9990  0.9976  0.9898  0.9688
\end{filecontents}

\begin{document}
\pgfplotsset{compat=newest}
\pgfplotsset{mystyle/.style={%
% allgemein
ybar interval,%=10pt, ?  % Balkendiagramm
/pgf/number format/.cd, use comma, % Kommas als Zahlentrennzeichen
%1000 sep={},
grid=none,
% x
xmin=0,
xmax=5, 
xtick=data, 
xlabel style={anchor=north},
enlarge x limits={lower,rel=1.25},
%symbolic x coords={46,50.1},  %?
every axis x label/.style={at={(current axis.south)},below=8mm},
% y
ymin=0,
ymax=1,
ylabel style={anchor=east, yshift=4pt},
%enlarge y limits=false,
%enlarge y limits={upper,rel=50.25}, % Dummer Effekt
% Legende
legend style={%
at={(1,1), anchor=south east},anchor=south, legend columns=-1}, 
% x und y
axis lines = middle,
axis line style={-latex}, 
ticklabel style = {font=\tiny},
%xticklabel style = {font=\tiny,yshift=0.5ex}
% Noden
%nodes near coords, 
%nodes near coords align={vertical}, 
%every node near coord/.append style={anchor=mid west,rotate=60},
}}%

\begin{tikzpicture}[scale=2.0, font=\tiny,]
\begin{axis}[mystyle, 
width=3.5cm, height=2.5cm,
xlabel={k},
ylabel={$P(X \leq k)$},
]
\addplot[draw=black, thin, fill=red!50] table [] {data.csv};
\end{axis} 
\end{tikzpicture}

\end{document}