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, 13:26

MG812's gravatar image

MG812
455
Akzeptiert: 75%

bearbeitet 27 Jun, 14:14

saputello's gravatar image

saputello
18.4k22352

Funktioniert jetzt, danke für den Hinweis.

(27 Jun, 14: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, 14:01

saputello's gravatar image

saputello
18.4k22352

bearbeitet 27 Jun, 14:18

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

(27 Jun, 14: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, 14: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, 14:16) MG812
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×160
×19
×1

Frage gestellt: 27 Jun, 13:26

Frage wurde angeschaut: 683 Mal

Zuletzt aktualisiert: 27 Jun, 14:18