Seite 1 von 1

Tabelle und pgfplots kombinieren

Verfasst: Fr 19. Jun 2015, 15:50
von Kathi_
Hallo zusammen,

ich möchte eine Tabelle mit einem Diagramm kombinieren.

So sieht mein Diagramm aus:
\documentclass[a4paper,12pt]{article}
\usepackage{pgfplots,pgfplotstable}
\pgfplotsset{compat=1.12}
\usepgfplotslibrary{fillbetween}

%----------Gesamt----------%
\begin{filecontents*}{gesamt.dat} 
%Regressionsgerade {-0.0962*x+222.58}
Zeilenbeschriftungen	Anzahl von Jahr
1990	32
1991	35
1992	30
1993	33
1994	28
1995	28
1996	32
1997	23
1998	27
1999	34
2000	40
2001	24
2002	25
2003	29
2004	27
2005	32
2006	32
2007	30
2008	29
2009	32
2010	31
2011	32
2012	28
2013	29
2014	28
\end{filecontents*} 

\begin{document}

\begin{figure}[H]
\centering 
\begin{tikzpicture}[trim axis left] 
  \begin{axis}[ 
      width=1\textwidth,height=0.3\textheight, 
	  ymin=6, ymax=40, 
	  ylabel={Anzahl Artikel},
	  xlabel near ticks,
      ylabel near ticks,
      xmin=1989.5, xmax=2014.5,
      domain=1990:2014, 
      xtick={1990,...,2014}, 
      ymajorgrids, 
      axis lines=left, 
      scaled ticks=false, 
      xticklabel style={ 
      rotate=65, %Beschriftung kippen 
      anchor=east, 
      /pgf/number format/precision=0, 
      /pgf/number format/fixed, 
      /pgf/number format/fixed zerofill, 
      /pgf/number format/1000 sep=}, 
      enlarge y limits=0.15, 
      legend style={at={(0.5,-0.35)}, 
      anchor=north,legend columns=-1,
      }      
    ] 
    \addplot[fill=black!50,draw=black!50, 
        ybar,bar width=4pt,ybar legend 
      ] table {gesamt.dat}; 
    \addplot[color=black,thick,dashed,line legend]{-0.0962*x+222.58}; 
    

  \end{axis} 
\end{tikzpicture} 
\caption{Gesamtanzahl} 
\end{figure} 

\end{document}

Ich möchte folgende Tabelle direkt passend unter die x-Achsenbeschriftung haben, am besten getrennt, durch eine horizontale Linie. Versteht man was ich meine? (Es soll so ähnlich aussehen wie hier: klicken. Ich hab mich daran auch schon versucht, komme da aber nicht weiter. )


Hier meine Tabelle:
Zeitraum Wert
1990-1994 29
1995-1999 28
2000-2004 32
2005-2009 33
2010-2014 29
Ich komme einfach nicht weiter. Kann mir jemand helfen?
Es muss auch nicht alles vollautomisch passieren, ich würde die Daten auch händisch eingeben, aber ich weiß noch nicht mal, wie ich das hübsch hinkriege.

Danke im Voraus
Katharina[/url]

Verfasst: Sa 20. Jun 2015, 10:59
von Kathi_
Und ich würde gerne noch anfügen, dass ich natürlich auch gerne wie im angeführten Link eine Beschriftung der Tabelle links vor den Daten unterhalb der y-Achse hätte. Also zum Beispiel: "Mittelwert".

Danke im Voraus

Verfasst: Sa 20. Jun 2015, 11:20
von Besserwisser
Dein Beispiel ist bei mir nicht lauffähig: ! LaTeX Error: Unknown float option `H'

Außerdem ist mir auch nach dem Link nicht wirklich klar, was du willst. Einfach nur eine Tabelle darunter setzen, wäre ja schlicht mit einer tabular-Umgebung zwischen tikzpicture und \caption möglich. Oder man fügt an passender Stelle einen node in die Abbildung ein. Die Verbindung zu dem angegebenen Link sehe ich hingegen nicht.

Verfasst: Sa 20. Jun 2015, 11:29
von Kathi_
Merkwürdig, bei mir läuft es, hab es extra getestet, aber danke für den Hinweis.

Dieser sollte dann aber funktionieren:
\documentclass[a4paper,12pt]{article}
\usepackage{pgfplots,pgfplotstable}
\pgfplotsset{compat=1.12}
\usepgfplotslibrary{fillbetween}

%----------Gesamt----------%
\begin{filecontents*}{gesamt.dat} 
%Regressionsgerade {-0.0962*x+222.58}
Zeilenbeschriftungen   Anzahl von Jahr
1990   32
1991   35
1992   30
1993   33
1994   28
1995   28
1996   32
1997   23
1998   27
1999   34
2000   40
2001   24
2002   25
2003   29
2004   27
2005   32
2006   32
2007   30
2008   29
2009   32
2010   31
2011   32
2012   28
2013   29
2014   28
\end{filecontents*} 

\begin{document}

\begin{figure}
\centering 
\begin{tikzpicture}[trim axis left] 
  \begin{axis}[ 
      width=1\textwidth,height=0.3\textheight, 
     ymin=6, ymax=40, 
     ylabel={Anzahl Artikel},
     xlabel near ticks,
      ylabel near ticks,
      xmin=1989.5, xmax=2014.5,
      domain=1990:2014, 
      xtick={1990,...,2014}, 
      ymajorgrids, 
      axis lines=left, 
      scaled ticks=false, 
      xticklabel style={ 
      rotate=65, %Beschriftung kippen 
      anchor=east, 
      /pgf/number format/precision=0, 
      /pgf/number format/fixed, 
      /pgf/number format/fixed zerofill, 
      /pgf/number format/1000 sep=}, 
      enlarge y limits=0.15, 
      legend style={at={(0.5,-0.35)}, 
      anchor=north,legend columns=-1,
      }      
    ] 
    \addplot[fill=black!50,draw=black!50, 
        ybar,bar width=4pt,ybar legend 
      ] table {gesamt.dat}; 
    \addplot[color=black,thick,dashed,line legend]{-0.0962*x+222.58}; 
    

  \end{axis} 
\end{tikzpicture} 
\caption{Gesamtanzahl} 
\end{figure} 

\end{document}
Ich will nur das es so aussieht, wie im angegebenen Link. Dort wird ja etwas gruppiert. das ist schon etwas anderes. Ich habe ja nur eine kleine Tabelle mit Werten und den selben x-Werten möchte ich dann noch Mittelwerte zuordnen und sie einfach angeben und zwar so:
Ich möchte die einzelnen Jahre gruppieren und darunter den Mittelwert angeben. Und zwar so, dass es passend unter den Zeiträumen steht. Außerdem möchte ich noch eine Angabe dazu haben, was ich in den einzelnen Spalten angebe.
Einfügen einer tabular-Umgebung im tikzpicture hat bei mir wiederum nicht geklappt. Mir würde das aber auch recht sein, solange ich die Werte passend und ohne große Umstände den einzelnen Zeiträumen zuordnen kann.
Kannst du mir einen Tipp geben, wie ich das machen kann? Ich weiß es einfach nicht.

Falls das weiterhin nicht deutlich wird - ich tu mich sehr schwer das zu beschreiben - male ich es auch auf.