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 the neighborhood of the current node, and the packet header. The routing problem has been studied extensively for general graphs, where truly compact and efficient routing schemes with polylogartihmic routing tables have turned out to be impossible. Thus, special graph classes are of interest. We present a routing scheme for double histograms that sends any data packet along a path of length at most twice the (unweighted) shortest path distance between the endpoints. The labels, routing tables, and headers need O(log n) bits. For the simple histograms, we obtain a routing scheme with optimal routing paths, O(log n)-bit labels, one-bit routing tables, and no headers.