Twinx and semilogy - how to move axes relative to one another

Sorry for the repost, but I'm still struggling with this.

I'm trying to replicate a plot like this:

In this case, the y-axis on the left (the black dots) is linear
and the y-axis on the right (red data) is log base 2.

I can't figure out how to do the following:

1. How do I display the right-hand y-axis so that is includes the
range above 32 and below 0 (as in the linked figure)? When I try to
include 0 or below in the
axis range, I get a range error (because of the log function). When I
do auto-range, it ranges from 2 to 32. But I want to include 0 (and
below) in my figure.

2. How do I line up the centers of both axes. in this case, the y-axis
on the left needs to have the 0 value lined up with the value of 2 on
the y axis on the right. In other words, how to I move one y-axis
relative to the other.

This is the best I can do so far.

As you can see, I can't get the right axis as log2 and still keep the
0 values. I'd really like to have a log axis on the right, because
some of those values (red) are quite high.

Thanks for the advice.