
Quiero crear un gráfico polar solo del primer cuadrante del círculo (ángulos de 0 a 90 grados), pero no puedo colocar correctamente las marcas y las etiquetas. Tome esta muestra:
\documentclass{standalone}
\usepackage{pgfplots}
\usetikzlibrary{pgfplots.polar}
\pgfplotsset{width=10cm,compat=1.10}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
domain=0:90,
ymin=0, ymax=1.5,
xmin=0, xmax=90,
xlabel={angle},
ylabel={radius},
ytick pos=left,
]
\addplot {1};
\end{polaraxis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[
domain=0:90,
ymin=0, ymax=1.5,
xmin=0, xmax=90,
xlabel={angle},
ylabel={radius},
]
\addplot {1};
\end{axis}
\end{tikzpicture}
\end{document}
Cosas que me gustaría y no puedo encontrar una manera consistente de obtener:
Etiquetas de marca de radio (eje horizontal) debajo del gráfico
Etiquete también "radio" debajo del eje horizontal.
Elimine la línea del círculo exterior, pero aún obtendrá marcas y etiquetas.
Además, el tamaño no coincide con el "ancho" solicitado, como ocurre con el gráfico cartesiano adjunto, supongo que se debe a que el tamaño se calcula para el círculo completo. ¿Es esto intencional?
¿Algo de esto se resolvería con una versión más reciente de pgfplots?
Respuesta1
Creo que la polar
biblioteca es una implementación "rápida y sucia" y parece que no se usa con mucha frecuencia, porque parece tener un par de errores, como usted mismo ya ha descubierto. Entonces parece que uno tiene que colocar y dibujar todas las cosas necesarias sin la "inteligencia" de PGFPlots.
Si lo deseas, puedes agregar los errores aleliminador de errores. Lo mejor es que cada error tenga un MWE.
\documentclass[border=2mm]{standalone}
\usepackage{pgfplots}
\usetikzlibrary{pgfplots.polar}
\pgfplotsset{width=10cm,compat=1.10}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
domain=0:90,
ymin=0, ymax=1.5,
xmin=0, xmax=90,
xlabel={angle},
ylabel={radius},
ytick pos=left,
% move `yticklabels' below the axis line
% yticklabel pos=lower, % <-- doesn't seem to work in `polaraxis'
% move them down by hand
yticklabel style={
anchor=north,
yshift=-2pt,
},
% move ``radius'' label below the axis
ylabel style={
at={(axis cs:0,0.75)},
anchor=near ticklabel opposite,
yshift=-2ex,
},
% move ``angle'' label to 45° again
xlabel style={
at={(axis cs:45,1.7)},
sloped={at position=45},
anchor=near ticklabel,
near ticklabel at=45,
},
% don't draw the axis lines
axis line style={draw=none},
% in case you want to draw the yaxis lines only
% (but the line will then be drawn above marks ...)
after end axis/.code={
\draw (axis cs:0,1.5) -- (axis cs:0,0) -- (axis cs:90,1.5);
% test the width of the plot
\draw [red] (axis cs:-1,1.5) -- +(-5cm,0);
},
% % to scale only the axis (and not also the labels, etc.)
% scale only axis=true,
]
\addplot {1};
\end{polaraxis}
\end{tikzpicture}
\end{document}