# Clean solution to move yaxis in polar plot

I want to be able to plot the upper half of the attached polar plot (MWE), by setting xmin=0 and xmax=180. This, however, is non-trivial when I at the same time want to have the yaxis with labels and title as illustrated below. Is there a clean way of solving this without rotating the coordinate system (and the ylabel/yticklabels actually follows the replacement of the yaxis)?

\documentclass{article}

\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}

\pgfplotsset{compat=1.12}
\usepgfplotslibrary{polar}

\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\def\xshift{5cm}
\begin{polaraxis}[
xmin=90,
xmax=450,
major tick length=2,
xtick={90,120,...,420},
xticklabel={\pgfmathtruncatemacro{\mytick}{mod(\tick,360)}${\mytick}^\circ$},
grid=both,
y axis line style={xshift=-\xshift},
ytick style={xshift=-\xshift},
yticklabel style={
xshift=-\xshift-0.3em,
},
ymax=0.5,
ytick={0,0.1,...,0.5},
ylabel={Cumbersome label},
every axis y label/.style={
xshift=-\xshift-2.5em,
yshift=1.4cm,
rotate=90,
anchor=south,
},
]
\end{polaraxis}
\end{tikzpicture}
\end{figure}
\end{document}


In an attempt of providing a clean solution, consider the following

\documentclass{article}

\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}

\pgfplotsset{compat=1.12}
\usepgfplotslibrary{polar}

\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\def\xshift{5cm}
\begin{polaraxis}[
xmin=0,
xmax=180,
major tick length=2,
xtick={0,30,...,180},
xticklabel={\pgfmathtruncatemacro{\mytick}{mod(\tick,360)}${\mytick}^\circ$},
grid=both,
y axis line style={rotate=-90,yshift=-\xshift},
ytick style={rotate=-90,yshift=-\xshift},
yticklabel style={rotate=-90,yshift=-\xshift},
ymax=0.5,
ytick={0,0.1,...,0.5},
ylabel={Cumbersome label},
every axis y label/.style={
xshift=-\xshift,
rotate=90,
anchor=south,
},
]
\end{polaraxis}
\end{tikzpicture}
\end{figure}
\end{document}


Don't know if this counts as clean, but rotating things around the axis origin might be an option.

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

\pgfplotsset{compat=1.12}
\usepgfplotslibrary{polar}

\begin{document}
\begin{tikzpicture}
\newcommand\xshift{5cm}
\newcommand\AxisWidth{8cm}
\begin{polaraxis}[
xmin=0,
xmax=180,
scale only axis,  % set width of axis only to
width=\AxisWidth, % this value
major tick length=2,
xtick={0,30,...,180},
xticklabel={\pgfmathtruncatemacro{\mytick}{mod(\tick,360)}${\mytick}^\circ$},
grid=both,
y axis line style={
overlay, % added so it doesn't increase the size of the bounding box
rotate around={90:(current axis.origin)}, % makes it a vertical line through the origin
yshift=\xshift,  % shift left
shorten >=\AxisWidth/4, % seemed to shorten line at both ends, so shorten by a quarter of the length
xshift=\AxisWidth/4,    % and then shift it up
line cap=rect
},
ytick style={rotate=-90,yshift=-\xshift},
yticklabel style={
rotate=-90, % first rotate nodes "in place"
rotate around={90:(current axis.origin)}, % then rotate them around the origin
xshift=-\xshift, % and move them left
left, % set a useful anchor
alias=ytick-\ticknum % give ticklabels nodes aliases
},
ymax=0.5,
ytick={0,0.1,...,0.51},
ylabel={Cumbersome label},
ylabel style={
at=(current axis.west -| ytick-1.west), % place at y-coord of current axis.west, x-coord of of ytick-1
left, % set useful anchor
anchor=south,
rotate=90
}
]