danm357
25-07-2008, 09:14
Hallo liebe Forengemeinde,
ich habe ein kleines Problem mit dem pgfplots Paket.
Meine y-ticks und yticklabels gebe ich als Liste vor, so dass bei jedem major tick der Wert steht, den ich möchte. Das klappt auch wunderbar.
Nun möchte ich zwischen den major ticks eine gewisse Anzahl von minor ticks stehen haben. Eigentlich sollte dies mit dem Befehl „minor x tick num=4“ gehen (4 als Bsp.). Tut es aber leider nicht. Der Befehl geht anscheinend nur, wenn ich die yticks automatisch ausgeben lasse.
Nun könnte ich natürlich alle y-Werte umformen, so dass an der Skala automatisch das steht, was ich will. Damit würde ich dann dieses Problem übergehen. Aber das erscheint mir doch recht mühsam, speziell, da ich dann sehr viel zu ändern habe. Nun hoffe auf Vorschläge von Euch, wie ich doch noch zu meinen minor ticks komme.
Anbei ein kleines vereinfachts Minimalbeispiel. Im Original lese ich noch Werte aus Tabellen ein.
Vielen Dank schon mal!
\documentclass[11pt,a4paper]{report}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{units}
\usepackage{cancel}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{lscape}
\usepackage{floatflt}
\usepackage{wrapfig}
\usepackage[labelfont=bf,skip=0pt]{caption}
\usepackage{capt-of}
\usepackage{isotope}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{decorations,arrows}
\usepackage{pgfplots}
\usepackage[text={6.5in,9.5in},centering]{geometry}
\begin{document}
\begin{tikzpicture}
\pgfplotsset{every axis y label/.append style={yshift=5pt}},
\pgfplotsset{every tick/.append style={very thin,black}}
\begin{axis}[axis x line=top,
axis y line=left,
tick align=center,
scaled ticks=false,
width=10cm,height=8cm,
xmin=0,xmax=30.5,ymin=-7.5e5,ymax=0,
ytick={0e5,-1e5,-2e5,-3e5,-4e5,-5e5,-6e5,-7e5},
yticklabels={$0$,$-0.1$,$-0.2$,$-0.3$,$-0.4$,$-0.5$,$-0.6$,$-0.7$},
minor x tick num=4,
%minor y tick num=4,
major tick length={0.2cm},
xlabel=$blah$ (Einheit),
ylabel=$blah$ (Einheit),
]
\addplot[color=red,style= solid] plot coordinates
{
(0, 0)
(25, -810570)
};
\end{axis}
\end{tikzpicture}
\end{document}
ich habe ein kleines Problem mit dem pgfplots Paket.
Meine y-ticks und yticklabels gebe ich als Liste vor, so dass bei jedem major tick der Wert steht, den ich möchte. Das klappt auch wunderbar.
Nun möchte ich zwischen den major ticks eine gewisse Anzahl von minor ticks stehen haben. Eigentlich sollte dies mit dem Befehl „minor x tick num=4“ gehen (4 als Bsp.). Tut es aber leider nicht. Der Befehl geht anscheinend nur, wenn ich die yticks automatisch ausgeben lasse.
Nun könnte ich natürlich alle y-Werte umformen, so dass an der Skala automatisch das steht, was ich will. Damit würde ich dann dieses Problem übergehen. Aber das erscheint mir doch recht mühsam, speziell, da ich dann sehr viel zu ändern habe. Nun hoffe auf Vorschläge von Euch, wie ich doch noch zu meinen minor ticks komme.
Anbei ein kleines vereinfachts Minimalbeispiel. Im Original lese ich noch Werte aus Tabellen ein.
Vielen Dank schon mal!
\documentclass[11pt,a4paper]{report}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{units}
\usepackage{cancel}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{lscape}
\usepackage{floatflt}
\usepackage{wrapfig}
\usepackage[labelfont=bf,skip=0pt]{caption}
\usepackage{capt-of}
\usepackage{isotope}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{decorations,arrows}
\usepackage{pgfplots}
\usepackage[text={6.5in,9.5in},centering]{geometry}
\begin{document}
\begin{tikzpicture}
\pgfplotsset{every axis y label/.append style={yshift=5pt}},
\pgfplotsset{every tick/.append style={very thin,black}}
\begin{axis}[axis x line=top,
axis y line=left,
tick align=center,
scaled ticks=false,
width=10cm,height=8cm,
xmin=0,xmax=30.5,ymin=-7.5e5,ymax=0,
ytick={0e5,-1e5,-2e5,-3e5,-4e5,-5e5,-6e5,-7e5},
yticklabels={$0$,$-0.1$,$-0.2$,$-0.3$,$-0.4$,$-0.5$,$-0.6$,$-0.7$},
minor x tick num=4,
%minor y tick num=4,
major tick length={0.2cm},
xlabel=$blah$ (Einheit),
ylabel=$blah$ (Einheit),
]
\addplot[color=red,style= solid] plot coordinates
{
(0, 0)
(25, -810570)
};
\end{axis}
\end{tikzpicture}
\end{document}