1
1

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  }

gefragt 27 Jun '16, 19:26

MG812's gravatar image

MG812
4548
Akzeptiert-Rate: 0%

bearbeitet 27 Jun '16, 20:14

saputello's gravatar image

saputello
10.8k104064

Funktioniert jetzt, danke für den Hinweis.

(27 Jun '16, 20:00) MG812

Du bist ganz dicht dran. Einzig scheinst Du dem Mythos aufgesessen zu sein, dass Bilder immer in eine figure-Umgebung gesetzt werden müssen. Dem ist nicht so:

Open in Online-Editor
\documentclass[12pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{patterns}
\begin{document} 
%\begin{figure}\centering% Funktioniert an dieser Stelle natürlich auch, ist aber für das Beispiel sinnlose
\begin{tikzpicture}[scale=1]
\begin{axis}[
xtick={1,2,3},
xticklabels={\tikz {\draw  (0,0) circle [radius=1cm];},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}% siehe \begin{figure} 
\end{document}

Kreis als Label

Ich habe für das Beispiel überflüssige Pakete entfernt.

Natürlich funktioniert auch

xticklabels={{\begin{tikzpicture}\draw  (0,0) circle [radius=1cm];\end{tikzpicture}},2,3}
Für derart kurzen Inline-Code gefällt mir persönlich aber die \tikz-Schreibweise besser.

Permanenter link

beantwortet 27 Jun '16, 20:01

saputello's gravatar image

saputello
10.8k104064
Akzeptiert-Rate: 51%

bearbeitet 27 Jun '16, 20:18

Klasse! Vielen Dank. Hab mich damit schon eine Weile rumgeschlagen. Unglaublich, dass es echt nur an der figure-Umgebung lag.

(27 Jun '16, 20:07) MG812
1

@MG812: Dass es daran lag, ist übrigens nicht so verwunderlich. Gleitumgebungen dürfen nun einmal gleiten und auch nicht geschachtelt werden. Gleiten soll die Abbildung hier aber so wenig wie der zweite oder dritte Balken. Wenn man einmal verstanden hat, was eine Gleitumgebung ist, dann liegt es nahe, dass sie hier fehl am Platz ist. Deshalb auch immer wieder mein Ratschlag, LaTeX nicht nur mit Codeschnipseln im Internet zu lernen, sondern sich einmal in Ruhe eine Einführung durchzulesen. Die Grundlagen, die man so lernt, machen vieles leichter.

(27 Jun '16, 20:11) saputello

Die Begründung mit den Gleitumgebungen macht Sinn (und offensichtlich ist es ja auch so ;-)). Ja, das ist richtig. Mangels Zeitdruck bleibt dafür leider im Moment nicht viel übrig. Aber das kann man ja nachholen.

(27 Jun '16, 20:16) MG812
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:

×689
×280
×30
×4

gestellte Frage: 27 Jun '16, 19:26

Frage wurde gesehen: 5,168 Mal

zuletzt geändert: 27 Jun '16, 20:18