Ich habe folgenden funktionierenden Code für ein Diagramm:

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\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 {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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},
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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
Code, hier editierbar zum Übersetzen:
\draw [black,thick] (KBH1 150 A,10000) --(KBH1 150 D,10000)
node[pos = 0.5,above] {Größe 1};
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Bekomme ich die Fehlermeldung:

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
! 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}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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.

gefragt 25 Jun '16, 19:14

MG812's gravatar image

MG812
4548
Akzeptiert-Rate: 0%

bearbeitet 26 Jun '16, 11:24

saputello's gravatar image

saputello
11.1k174365


Wenn die Artikelbezeichnungen nur an den Ticks stehen sollen, aber ansonsten die Koordinaten als Zahlen angegeben werden, dann kannst Du

Open in Online-Editor
xtick = {1,...,14},
xticklabels={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},
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

nutzen.

alt text

Code:

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\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{% globale Einstellungen.
label style={font=\scriptsize},
ticklabel style={font=\scriptsize},
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={([yshift=-\baselineskip]xticklabel cs:.5)},% <- changed
anchor=north,legend columns=-1, draw=none},
ybar,
bar width=8pt,% <- added: default is 10pt
xtick = {1,...,14},
xticklabels={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},
x tick label style={rotate=90}, %Achsenbeschriftung drehen
grid,
grid style={dashed},
]
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Würden symbolic x coords verwendet, könnte man sie auch in Koordinatenangaben für den \draw Befehl verwenden, wenn man explizit axis cs angibt:

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\draw [black,thick]
(axis cs: KBH1 150 A,10000)
--(axis cs: KBH1 150 D,10000)node[pos = 0.5,above] {Größe 1}
;
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 25 Jun '16, 21:30

esdd's gravatar image

esdd
17.8k304257
Akzeptiert-Rate: 62%

Danke, dass klappt natürlich :) an 'xticklabels' habe ich gar nicht gedacht, obwohl dass auf der Hand liegt. Naja, manchmal sieht man den Wald vor lauter Bäumen nicht..

(26 Jun '16, 09:37) MG812
1

@MG812: "Danke" geht bei uns mit einem Klick auf den Daumen hoch (kann jeder, der eine Frage oder Antwort gut/hilfreich findet) oder auch mit einem Klick auf den Haken (kann nur der Fragesteller für jeweils eine Antwort). Das hilft anderen Hilfesuchende bei der Orientierung. Gleichzeitig bekommt der Antwortende dafür automatisch Punkte (10 für den Daumen, 15 für den Haken). Zusätzlich Punkte vergeben ist dagegen eigentlich nur sinnvoll, wenn man eine ganz besondere Leistung zusätzlich auszeichnen will.

(26 Jun '16, 11:26) saputello
Deine Antwort
[Vorschau ausblenden]

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

Frage-Themen:

×731
×298
×9
×3

gestellte Frage: 25 Jun '16, 19:14

Frage wurde gesehen: 9,299 Mal

zuletzt geändert: 26 Jun '16, 11:31