Hey, ich bin möchte ein Balkendiagramm mit Tikz erstellen und habe mich dabei an diesem Beispiel orientiert http://www.texample.net/tikz/examples/bar-chart. Jetzt möchte ich aber das nur zwei Kategorien da sind, also z.B. Latex & Tools. Meinen Code habe ich dementsprechend geändert:

Öffne in Overleaf
  \begin{tikzpicture}
  \begin{axis}[title  = Contributions per category
                          at LaTeX-Community.org,
    xbar,
    y axis line style = { opacity = 0 },
    axis x line       = none,
    tickwidth         = 0pt,
    enlarge y limits  = 0.2,
    enlarge x limits  = 0.02,
    symbolic y coords = {LaTeX, Tools},
    nodes near coords,
  ]
  \addplot coordinates { (57727,LaTeX)(5672,Tools)};
  \addplot coordinates { (14320,LaTeX)(1615,Tools)};
  \legend{Topics, Posts}
  \end{axis}
\end{tikzpicture}

Problem ist jedoch, dass das ganze jetzt so aussieht alt text

Könnt ihr mir sagen was ich falsch mache? Hab ich da irgendeinen Denkfehler? Ich bin Latex Anfänger.

Danke euch!!

gefragt 09 Okt '17, 11:05

rootrocker's gravatar image

rootrocker
21112
Akzeptiert-Rate: 0%


Du machst es schon richtig! Das Beispiel auf TeXample.net funktioniert, doch für weniger Markierungen auf der y-Achse müsste man es anpassen. Sonst hat man mehr als zwei y-Markierungen per Voreinstellung, jedoch nur zwei Beschriftungen. Damit wiederholen sie sich.

Abhilfe schafft die Option ytick = data.

Weiterhin kann es sinnvoll sein, den Plot mit width und height (und enlarge limits) noch zu skalieren, sonst sind die Balken vielleicht zu weit auseinander. Hier ein Komplettbeispiel:

Öffne in Overleaf
\documentclass[border=10pt]{standalone} 
\usepackage{pgfplots}
\begin{document}
  \begin{tikzpicture}
  \begin{axis}[title  = Contributions per category
                          at LaTeX-Community.org,
    xbar,
    y axis line style = { opacity = 0 },
    axis x line       = none,
    tickwidth         = 0pt,
    enlarge y limits  = 0.5,
    enlarge x limits  = 0.02,
    ytick             = data,
    height            = 4cm,
    width             = 6cm,
    symbolic y coords = {LaTeX, Tools},
    nodes near coords,
  ]
  \addplot coordinates { (57727,LaTeX)(5672,Tools)};
  \addplot coordinates { (14320,LaTeX)(1615,Tools)};
  \legend{Topics, Posts}
  \end{axis}
\end{tikzpicture}
\end{document}

Balkengrafik

Permanenter link

beantwortet 09 Okt '17, 11:34

stefan's gravatar image

stefan ♦♦
18.3k163148
Akzeptiert-Rate: 49%

bearbeitet 09 Okt '17, 11:36

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:

×731
×12

gestellte Frage: 09 Okt '17, 11:05

Frage wurde gesehen: 13,189 Mal

zuletzt geändert: 09 Okt '17, 11:36