pgfplots: xlabels zwischen den Ticks

Tabellen und Grafiken erstellen und anordnen


mofehl
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 62
Registriert: Mi 27. Aug 2014, 13:07

pgfplots: xlabels zwischen den Ticks

Beitrag von mofehl »

Hallo liebes Forum,

bei einem Plot mit pgfplots möchte ich die x-Achsenbeschriftung zwischen den x-Ticks setzen. Die x-Achse selber wird durch Wörter beschriftet. Hier ein MWE:
\documentclass[border=1cm]{standalone}
\usepackage{tikz,pgfplots,pgfplotstable,filecontents}

\begin{filecontents}{mytable.csv}
	X,Y
	Label1,4
	Label2,3
\end{filecontents}

\pgfplotstableread[col sep=comma]{mytable.csv}\testtable

\begin{document}

\begin{tikzpicture}
\begin{axis}[
	axis lines=left,
	axis line shift=10pt,
	enlarge x limits={abs=1cm},
	xtick=data,
	xticklabels from table={\testtable}{X},
	xticklabel style={rotate=50,anchor=east},
]

\addplot [mark=diamond] table [x expr=\coordindex,y=Y] {\testtable};

\end{axis}
\end{tikzpicture}

\end{document}
Bild
Dateianhänge
Clipboard03.jpg
Clipboard03.jpg (12.55 KiB) 1554 mal betrachtet

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Sieht zwar für mich etwas seltsam aus, ist aber mit etwas Bastelei machbar:
\documentclass[border=1cm]{standalone} 
\usepackage{pgfplotstable}% lädt auch pgfplots und tikz
\pgfplotsset{compat=newest}% immer compat setzen; aktuell ist derzeit Version 1.15

\usepackage{filecontents}
\begin{filecontents}{mytable.csv} 
   X,Y 
   Label1,4 
   Label2,3 
\end{filecontents} 

\pgfplotstableread[col sep=comma]{mytable.csv}\testtable 

\begin{document} 
\begin{tikzpicture} 
\begin{axis}[ 
   axis lines=left, 
   axis line shift=10pt, 
   %enlarge x limits={abs=1cm}, 
   xtick=data, 
   xticklabels from table={\testtable}{X}, 
   xticklabel style={rotate=50,anchor=east}, 
  %
   minor xtick={-0.5,.5,1.5},
   xmin=-.5, xmax=1.6,
   tickwidth=0pt,
   subtickwidth=5pt
] 

\addplot [mark=diamond] table [x expr=\coordindex,y=Y] {\testtable}; 
\end{axis} 
\end{tikzpicture} 
\end{document}

mofehl
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 62
Registriert: Mi 27. Aug 2014, 13:07

Beitrag von mofehl »

Hallo esdd, vielen Dank für Deine Antwort! LG

Antworten