Nothing exciting here. I have a plot with xmin=-11
, xmax=11
, ymin=-11
, and ymax=11
. I would like to use the grid
option in the axis
environment to draw a particular grid. All horizontal and vertical lines in the grid are to be drawn either between x=-10.5 and x=10.5 or between y=-10.5 and y=10.5 with line width=.1pt
and draw=gray!10
. The horizontal lines y=-10
, y=-5
, y=5
, and y=10
and the vertical lines x=-10
, x=-5
, x=5
, and x=10
are to be drawn with line width=.2pt
and draw=gray!50
. Tick marks at -10
, –5
, 5
, and 10
are to be typeset on both axes and over these grid lines. I think the axis options xtick={-10,-5,5,10}
, ytick={-10,-5,5,10}
, and ticklabel style={font=\tiny,fill=white},
will put the tick marks over the grid.
\documentclass{amsart}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[grid style={line width=.1pt, draw=gray!10},major grid style={line width=.2pt,draw=gray!50},
xmin=-11.75,xmax=11.75,
ymin=-11.75,ymax=11.75,
xtick={},ytick={},
minor tick num=5,
enlargelimits={abs=0},
ticklabel style={font=\tiny,fill=white},
axis lines=middle,
axis line style={latex-latex},
xlabel style={at={(ticklabel* cs:1)},anchor=north west},
ylabel style={at={(ticklabel* cs:1)},anchor=south west}
]
\coordinate (O) at (0,0);
\node[fill=white,circle,inner sep=0pt] (O-label) at ($(O)+(-135:10pt)$) {$\scriptstyle{O}$};
\end{axis}
\end{tikzpicture}
\end{document}
Best Answer
Maybe I'm missing some obvious option, but I don't think you can reduce the grid to certain coordinates. There is nothing in the manual. You can fake this by lengthening the axes so that the grid looks more contained to fewer coordinates.
I set the number of grid lines to a certain value just as a demonstration. But you can increase/decrease their number by changing the value in this command (higher number = more lines):
As I told you in the comments you can change the grid style locally. Just paste those options in the
\begin{axis}
options for the plot you want to change. I updated the example below to show this.Output
Code