# pgfplots: Reduce number of ticks

I'm doing a histogram with a large number of bins:

\pgfplotstableset{col sep=semicolon}
\begin{tikzpicture}
\begin{axis}[
ybar interval,
]
\end{axis}
\end{tikzpicture}


Unfortunately, pgfplots produces a terribly ugly x-axis where the xticks are printed too close together so that they are overlapping and you can't read a thing.

How can I reduce the number of ticks? For example show only every nth tick.

-
You can specify where exactly you want the ticks to go with xtick={-20,-15,...,20} or some other pattern. Please keep in mind that while code snippets are useful in explanations, it is always best to compose a fully compilable MWE that illustrates the problem including the \documentclass and the appropriate packages so that those trying to help don't have to recreate it. Without a sample of FILENAME the reproduces this I can not test if this will fix the problem for you. –  Peter Grill Apr 10 '12 at 4:51
–  Torbjørn T. Apr 10 '12 at 4:56
xtick doesn't help because the numbers I have are quite high precision: pastebin.com/h68WDRZY –  Fabian Apr 10 '12 at 5:16
So how many significant digits do you want to display? I think the results with xtick={0,2,...,12} with your data produces reasonable results, but perhaps a real expert with plotting will have a better answer for you. –  Peter Grill Apr 10 '12 at 6:52

For a histogram with such a large number of bins, ybar interval as an axis option is not the ideal choice. ybar interval, if passed to the axis, will place a label for each bin, and draw a vertical line between each pair of bins; the algorithm usually employed for finding a useful number of labels is not used here. In your case, simply omitting ybar interval (or supplying ybar instead) in the axis options yields a much better result. Note that the ybar interval style is set for the individual plot anyway because you're using hist, but as a plot option, it doesn't influence the label placement:

The plot could be improved a bit by adding vertical grid lines, and choosing hist/data min, hist/data max, and hist/bins in such a way that the bins line up with the grid lines:

\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}

\begin{document}

\pgfplotstableset{col sep=semicolon}
\begin{tikzpicture}
\begin{axis}[
enlarge x limits=false,
enlarge y limits=upper,
axis lines*=left,
xmajorgrids,
grid style={white,ultra thin},
axis on top,
tick align=outside
]