goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Säulendiagramm Probleme

 

Friedolien
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 07.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.05.2018, 21:38     Titel: Säulendiagramm Probleme
  Antworten mit Zitat      
Hallo, ich bin gerade am ausarbeiten einer Arbeit für meine Uni. Dafür muss ich gerade ein paar Säulendiagramm basteln. Folgende 3 habe ich bereits:

Code • Öffne in Overleaf

\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}

\begin{document}

\begin{tikzpicture}
   \begin{axis}[
      x tick label style={
         /pgf/number format/1000 sep=
},
      symbolic x coords={Ohne,Sinus,Sprung},
      ylabel=$H_{MSE}$,
      enlargelimits=0.15,
      ybar,
      bar width=7pt,
      xtick={Ohne,Sinus,Sprung},
      xmin=Ohne, xmax=Sprung,
      ytick={100,102.5,...,125},
      grid,
      legend entries={PID,MRAC,NN},
      legend columns=3,
      legend style={anchor=south,legend pos=north east, yshift=1cm, draw=none
     
}      
     
]
      \addplot
      coordinates {(Ohne,117.38) (Sinus,) (Sprung,)};
     
      \addplot
      coordinates {(Ohne,117.84) (Sinus,122.24) (Sprung,101.96)};
     
      \addplot
      coordinates {(Ohne,118.29) (Sinus,118.63) (Sprung,101.51)};
   \end{axis}
\end{tikzpicture}

\begin{tikzpicture}
   \begin{axis}[
      x tick label style={
         /pgf/number format/1000 sep=
},
      symbolic x coords={Ohne,Sinus,Sprung},
      ylabel=$\theta_{MSE}$,
      enlargelimits=0.15,
      ybar,
      bar width=7pt,
      xtick={Ohne,Sinus,Sprung},
      xmin=Ohne, xmax=Sprung,
      ytick={0,0.0005,...,0.005},
      grid,
      legend entries={PID,MRAC,NN},
      legend columns=3,
      legend style={anchor=south,legend pos=north east, yshift=1cm, draw=none
     
}      
     
]
      \addplot
      coordinates {(Ohne,0.0019) (Sinus,) (Sprung,)};
     
      \addplot
      coordinates {(Ohne,0.0015) (Sinus,0.0046) (Sprung,0.0026)};
     
      \addplot
      coordinates {(Ohne,0.0015) (Sinus,0.0016) (Sprung,0.0013)};
   \end{axis}
\end{tikzpicture}

\begin{tikzpicture}
   \begin{axis}[
      x tick label style={
         /pgf/number format/1000 sep=
},
      symbolic x coords={Ohne,Sinus,Sprung},
      ylabel=$q_{MSE}$,
      enlargelimits=0.15,
      ybar,
      bar width=7pt,
      xtick={Ohne,Sinus,Sprung},
      xmin=Ohne, xmax=Sprung,
      ytick={0,0.01,...,0.1},
      grid,
      legend entries={PID,MRAC,NN},
      legend columns=3,
      legend style={anchor=south,legend pos=north east, yshift=1cm, draw=none
     
}      
     
]
      \addplot
      coordinates {(Ohne,0.0058) (Sinus,) (Sprung,)};
     
      \addplot
      coordinates {(Ohne,0.0029) (Sinus,0.0343) (Sprung,0.0210)};
     
      \addplot
      coordinates {(Ohne,0.0170) (Sinus,0.0822) (Sprung,0.0457)};
   \end{axis}
\end{tikzpicture}
\end{document}
 


Zu den Graphen: Prinzipiell sollen die Graphen gleich aussehen von ihrer Form. Mein Problem ist die y-Beschriftung. Obwohl ich diese bspweise bei dem ersten Diagramm von 100-125 laufen lasse, beginnt die y-Achse noch unter 100.
Besonders deutlich beim letzten. Eingegrenzt von 0-0.1, aber die Balken fangen innerhalb des Diagramms an, sollten aber wirklich ganz unten mit der definierten Zahl schon beginnen. Weiß jemand Rat? Die Grenzen ergeben sich aus den Messwerten, die in den Koordinaten geschrieben stehen. Zweites Probelm: Ist es vllt möglich die 10er Potenz schöner anzuordnen, oder gar eine andere, schönere Lösung zu finden?

P.S.:Ach noch vergessen: Begrenzung nach oben wird auch nicht genau eingehalten. geht immer noch etwas drüber als die angegebene maximale Angabe der y-Achse

Vielen Dank für eure Hilfe
Friedolien
Private Nachricht senden Benutzer-Profile anzeigen

esdd
Forum-Meister
Forum-Meister

Beiträge: 2328
Anmeldedatum: 07.02.10
Wohnort: Stutensee
Version: MiKTeX 2.9
     Beitrag Verfasst am: 07.05.2018, 21:51     Titel:
  Antworten mit Zitat      
Gib ymin und ymax vor und ergänze enlarge y limits=0, also beispielsweise für das letzte Diagramm:

Code • Öffne in Overleaf
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{pgfplots}% lädt auch tikz
\pgfplotsset{compat=1.12}% aktuell wäre 1.16

\begin{document}

\begin{tikzpicture}
   \begin{axis}[
      x tick label style={
         /pgf/number format/1000 sep=
},
      symbolic x coords={Ohne,Sinus,Sprung},
      ylabel=$q_{MSE}$,
      enlargelimits=0.15,
      ybar,
      bar width=7pt,
      xtick={Ohne,Sinus,Sprung},
      xmin=Ohne, xmax=Sprung,
      ytick={0,0.01,...,0.1},
      ymin=0,ymax=0.1,% <- eingefügt
      enlarge y limits=0,% <- eingefügt
      grid,
      legend entries={PID,MRAC,NN},
      legend columns=3,
      legend style={anchor=south,legend pos=north east, yshift=1cm, draw=none
     
}      
      ]
      \addplot
      coordinates {(Ohne,0.0058) (Sinus,) (Sprung,)};
     
      \addplot
      coordinates {(Ohne,0.0029) (Sinus,0.0343) (Sprung,0.0210)};
     
      \addplot
      coordinates {(Ohne,0.0170) (Sinus,0.0822) (Sprung,0.0457)};
   \end{axis}
\end{tikzpicture}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

Friedolien
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 07.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2018, 16:58     Titel:
  Antworten mit Zitat      
Super das hat geklappt. Hab ich nicht gefunden gehabt, diese Lösung.
Hätte noch ein Anliegen: Ich möchte in einem separaten Diagramm, was den gleichen Aufbau wie das 3. Balkendiagramm haben soll, folgendes einbauen:

y-Achse soll gleich bleiben und dargestellt werden soll:

Ohne,Sinus,Sprung, dann nochmal Ohne,Sinus,Sprung und ein letztes mal diese Kombi, sodass ich diese 3 mal nebeneinander habe. zu diesen einzelnen labels sollen dann jeweils 2 Balken erstellt werden, wobei bei allen der erste Balken die gleiche Legende und der 2. Balken auch. Unter die x-Achsen label Ohne,Sinus,Sprung müsste dann eine geschweifte Klammer "alles", bei den 2. eine mit t=20 und beim 3. mit t=54.

Ich habe bereits versucht bei \addplot noch mehr sich wiederholende Koord. einzufügen, das klappt aber so leider nicht. Hier mal mein Versuch, der leider nicht klappt. Hoffe es ist verständlich, was ich meine und ich hoffe sehr, mir kann jemand helfen. etwas am verzweifeln...

Code • Öffne in Overleaf

\begin{tikzpicture}
\begin{axis}[
x tick label style={
   /pgf/number format/1000 sep=
},
symbolic x coords={Ohne,Sinus,Sprung},
ylabel=$H_{MSE}$,
enlargelimits=0.15,
ybar,
bar width=7pt,
xtick={Ohne,Sinus,Sprung,Ohne,Sinus,Sprung,Ohne,Sinus,Sprung},
xmin=Ohne, xmax=Sprung,
ytick={0,,...,0.02},
ymin=1,ymax=125,
enlarge y limits=0,
grid,
legend entries={MRAC,NN},
legend columns=2,
legend style={anchor=south,legend pos=north east, yshift=1cm, draw=none
}      
]

\addplot %MRAC
coordinates {(Ohne,0.00033) (Sinus,0.01748) (Sprung,0.00928)...%alles
         (Ohne,0.00036) (Sinus,0.01923) (Sprung,0.01008)...%t=20
         (Ohne,0.00034) (Sinus,0.00803) (Sprung,0.00129)};%t=54
\addplot %NN
coordinates {(Ohne,0.013068408) (Sinus,0.077251943) (Sprung,0.041750859)...%all
         (Ohne,2.46611E-07) (Sinus,0.07060021) (Sprung,0.032880561)...%t=20
         (Ohne,2.3604E-07) (Sinus,1.11131E-06) (Sprung,6.29655E-07)};%t=54
\end{axis}
\end{tikzpicture}
Private Nachricht senden Benutzer-Profile anzeigen

esdd
Forum-Meister
Forum-Meister

Beiträge: 2328
Anmeldedatum: 07.02.10
Wohnort: Stutensee
Version: MiKTeX 2.9
     Beitrag Verfasst am: 08.05.2018, 17:48     Titel:
  Antworten mit Zitat      
Du musst die symbolischen Koordinaten unterschiedlich bezeichnen, auch wenn Du sie gleich beschriftest:

Code • Öffne in Overleaf

\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[width=.95\textwidth,
x tick label style={
   /pgf/number format/1000 sep=
},
symbolic x coords={Ohne1,Sinus1,Sprung1,Ohne2,Sinus2,Sprung2,Ohne3,Sinus3,Sprung3},
ylabel=$H_{MSE}$,
enlargelimits=0.15,
ybar,
bar width=7pt,
xtick=data,
xticklabels={Ohne,Sinus,Sprung,Ohne,Sinus,Sprung,Ohne,Sinus,Sprung},
xticklabel style={rotate=90,anchor=east},
xmin=Ohne1, xmax=Sprung3,
ytick={0,0.01,...,0.08},
ymin=0,ymax=0.08,
enlarge y limits=0,
grid,
legend entries={MRAC,NN},
legend columns=2,
legend style={anchor=south,legend pos=north east, yshift=1cm, draw=none
}
]

\addplot %MRAC
coordinates {(Ohne1,0.00033) (Sinus1,0.01748) (Sprung1,0.00928) %alles
         (Ohne2,0.00036) (Sinus2,0.01923) (Sprung2,0.01008) %t=20
         (Ohne3,0.00034) (Sinus3,0.00803) (Sprung3,0.00129)};%t=54
\addplot %NN
coordinates {(Ohne1,0.013068408) (Sinus1,0.077251943) (Sprung1,0.041750859) %all
         (Ohne2,2.46611E-07) (Sinus2,0.07060021) (Sprung2,0.032880561) %t=20
         (Ohne3,2.3604E-07) (Sinus3,1.11131E-06) (Sprung3,6.29655E-07)};%t=54
\end{axis}
\end{tikzpicture}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

Friedolien
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 07.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2018, 18:09     Titel:
  Antworten mit Zitat      
Oh, vielen Dank Smile

Hast du vielleicht noch eine Idee zu den Klammern oder so, wie ich unter 3 Labels jeweils noch was schrieben kann? die 3er Bündel beziehen sich nämlich jeweils auf 3 unterschiedliche Simulationen
Private Nachricht senden Benutzer-Profile anzeigen

esdd
Forum-Meister
Forum-Meister

Beiträge: 2328
Anmeldedatum: 07.02.10
Wohnort: Stutensee
Version: MiKTeX 2.9
     Beitrag Verfasst am: 08.05.2018, 22:04     Titel:
  Antworten mit Zitat      
Code • Öffne in Overleaf
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\begin{axis}[width=.95\textwidth,
x tick label style={
   /pgf/number format/1000 sep=
},
symbolic x coords={Ohne1,Sinus1,Sprung1,Ohne2,Sinus2,Sprung2,Ohne3,Sinus3,Sprung3},
ylabel=$H_{MSE}$,
enlargelimits=0.15,
ybar,
bar width=7pt,
xtick=data,
xticklabels={Ohne,Sinus,Sprung,Ohne,Sinus,Sprung,Ohne,Sinus,Sprung},
xticklabel style={rotate=90,anchor=east},
xmin=Ohne1, xmax=Sprung3,
ytick={0,0.01,...,0.08},
ymin=0,ymax=0.08,
enlarge y limits=0,
grid,
legend entries={MRAC,NN},
legend columns=2,
legend style={anchor=south,legend pos=north east, yshift=1cm, draw=none
}
]

\addplot %MRAC
coordinates {(Ohne1,0.00033) (Sinus1,0.01748) (Sprung1,0.00928) %alles
         (Ohne2,0.00036) (Sinus2,0.01923) (Sprung2,0.01008) %t=20
         (Ohne3,0.00034) (Sinus3,0.00803) (Sprung3,0.00129)};%t=54
\addplot %NN
coordinates {(Ohne1,0.013068408) (Sinus1,0.077251943) (Sprung1,0.041750859) %all
         (Ohne2,2.46611E-07) (Sinus2,0.07060021) (Sprung2,0.032880561) %t=20
         (Ohne3,2.3604E-07) (Sinus3,1.11131E-06) (Sprung3,6.29655E-07)};%t=54
\path (axis cs:{[normalized]-0.5},0) coordinate(c0)
         (axis cs:{[normalized]2.5},0) coordinate(c1)
         (axis cs:{[normalized]5.5},0) coordinate(c2)
         (axis cs:{[normalized]8.5},0) coordinate(c3);
\end{axis}
\begin{scope}[
    every path/.append style={decoration={brace,amplitude=7.5pt},decorate,draw},
    links/.style={xshift=1pt},
    rechts/.style={xshift=-1pt}
   
]
    \path([rechts]c1|-current axis.outer south)
      --node[below=5pt]{alles\strut}
      ([links]c0|-current axis.outer south);
    \path([rechts]c2|-current axis.outer south)
      --node[below=5pt]{$t=20$\strut}
      ([links]c1|-current axis.outer south);
    \path([rechts]c3|-current axis.outer south)
      --node[below=5pt]{$t=54$\strut}
      ([links]c2|-current axis.outer south);
\end{scope}
\end{tikzpicture}
\end{document}




gl_barplotwithbraces.png
 Beschreibung:

Download
 Dateiname:  gl_barplotwithbraces.png
 Dateigröße:  12.62 KB
 Heruntergeladen:  68 mal
Private Nachricht senden Benutzer-Profile anzeigen

Friedolien
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 07.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2018, 18:22     Titel:
  Antworten mit Zitat      
Wow. Das ist genau das was ich brauche. Tausend Dank. Das hätte ich so nicht so schnell hinbekommen. Danke!!!
Private Nachricht senden Benutzer-Profile anzeigen

Friedolien
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 07.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.05.2018, 19:01     Titel:
  Antworten mit Zitat      
Hey, ich bins nochmal. Hab nochmal ein Problem, was nicht unbedingt mit Latex zu tun hat. Prinzipiell soll das Säulendiagramm auch wieder verwendet werden wie oben, jetzt habe ich aber Messwerte von 0.1-10^-17. Dachte mir, da könnte eine logarithmische Darstellung vom Vorteil sein. Wie kriege ich das aber hin, dass 10^-17 am nächsten zur Null (Anfang des Balkens) und nicht wie in meinem Beispiel 10^-1, wie beim normalen Zählen üblich.
Hoffe ihr versteht mein Anliegen. Geht dadrum, dass die größte Potenz ja der kleinste Abstand zur Null ist, und damit auch den kleinsten Balken kriegen soll. Angehängt mein Code mit den Messwerten. Vielleicht hat da jemand eine Idee, wie ich die Messwerte am besten darstellen kann.

Code • Öffne in Overleaf

\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{pgfplots}% lädt auch tikz
\pgfplotsset{compat=1.12}% aktuell wäre 1.16

\begin{document}


      \begin{tikzpicture}
         \begin{axis}[
            ymode=log,
            width=.80\textwidth,
            x tick label style={
               /pgf/number format/1000 sep=
},
            symbolic x coords={Ohne1,Sinus1,Sprung1,Ohne2,Sinus2,Sprung2,Ohne3,Sinus3,Sprung3},
            ylabel=$MSE_{q_m/q}$,
            enlargelimits=0.15,
            ybar,
            bar width=7pt,
            xtick=data,
            xticklabels={Ohne,Sinus,Sprung,Ohne,Sinus,Sprung,Ohne,Sinus,Sprung},
            xticklabel style={rotate=90,anchor=east},
            xmin=Ohne1, xmax=Sprung3,
            %ytick={0,0.0004,0.0008,0.0012,0.0016,0.002,0.0024,0.0028,0.0032,0.0036,0.004},
            %ytick={0,0.01,...,0.09},
            %ymin=0,ymax=10^(-7),
            enlarge y limits=0,
            grid,
            legend entries={MRAC,NN},
            legend columns=2,
            legend style={anchor=south,legend pos=north east, yshift=-1cm, draw=none
           
}
            ]
           
            \addplot %MRAC
            coordinates {(Ohne1,1.84337E-07) (Sinus1,0.000111274) (Sprung1,1.84337E-07) %alles
               (Ohne2,3.55814E-13) (Sinus2,0.000222146) (Sprung2,3.80855E-13) %t=40
               (Ohne3,2.80453E-18) (Sinus3,0.000262289) (Sprung3,2.92305E-18)};%t=80
           
            \addplot %NN
            coordinates {(Ohne1,0.002766388) (Sinus1,0.000641475) (Sprung1,0.002766388) %all
               (Ohne2,4.52756E-13) (Sinus2,1.43017E-08) (Sprung2,2.6308E-13) %t=40
               (Ohne3,3.39996E-16) (Sinus3,3.75811E-17) (Sprung3,1.96785E-16)};%t=80
           
            %\node at (axis cs:Sinus1,0.0039) {$7.2\cdot10^{-2}$};
            %\node at (axis cs:Sinus2,0.0039) {$8.2\cdot10^{-2}$};
            \path (axis cs:{[normalized]-0.5},0) coordinate(c0)
            (axis cs:{[normalized]2.5},0) coordinate(c1)
            (axis cs:{[normalized]5.5},0) coordinate(c2)
            (axis cs:{[normalized]8.5},0) coordinate(c3);
         \end{axis}
         %add node at y={-5}{Some text}
\begin{scope}[
    every path/.append style={decoration={brace,amplitude=7.5pt},decorate,draw},
    links/.style={xshift=1pt},
    rechts/.style={xshift=-1pt}
   
]
    \path([rechts]c1|-current axis.outer south)
      --node[below=5pt]{alles\strut}
      ([links]c0|-current axis.outer south);
    \path([rechts]c2|-current axis.outer south)
      --node[below=5pt]{$t=20$\strut}
      ([links]c1|-current axis.outer south);
    \path([rechts]c3|-current axis.outer south)
      --node[below=5pt]{$t=54$\strut}
      ([links]c2|-current axis.outer south);
\end{scope}
      \end{tikzpicture}
\end{document}


Zuletzt bearbeitet von Friedolien am 29.05.2018, 14:23, insgesamt 3-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen

Friedolien
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 07.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2018, 09:21     Titel:
  Antworten mit Zitat      
irgendjemand?
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2018, 13:29     Titel:
  Antworten mit Zitat      
Ein unvollständiges Beispiel kommt nicht so gut an.

Neues Thema eröffnen Neue Antwort erstellen Gehe zu Seite 1, 2  Weiter



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2018 goLaTeX.de