Let $P$ be an $x$-monotone orthogonal polygon with $n$ vertices. We call $P$ a simple histogram if its upper boundary is a single edge; and a double histogram if it has a horizontal chord from the left boundary to the right boundary. Two points $p$ and $q$ in $P$ are co-visible if and only if the (axis-parallel) rectangle spanned by $p$ and $q$ completely lies in $P$. In the $r$-visibility graph $G(P)$ of $P$, we connect two vertices of $P$ with an edge if and only if they are co-visible. We consider routing with preprocessing in $G(P)$. We may preprocess $P$ to obtain a label and a routing table for each vertex of $P$. Then, we must be able to route a packet between any two vertices $s$ and $t$ of $P$, where each step may use only the label of the target node $t$, the routing table and neighborhood of the current node, and the packet header. We present a routing scheme for double histograms that sends any data packet along a path whose length is at most twice the (unweighted) shortest path distance between the endpoints. In our scheme, the labels, routing tables, and headers need $O(log n)$ bits. For the case of simple histograms, we obtain a routing scheme with optimal routing paths, $O(log n)$-bit labels, one-bit routing tables, and no headers.