title: How to set log scale for values less than one in Matplotlib
body: <p>I am graphing the following data using matplot lib:</p>
  
  <pre><code>x_val = [-(2**24), -(2**23), -(2**22), -2(21)]
  y_val = [-1/2, -1/4, -1/8, -1/16]
  </code></pre>
  
  <p>I data relation is linear, but because of the step patten I want to use a log scale, base 2, for both the x and y axis of the graph. </p>
  
  <p>I problem is that the y values are negative and between 0 and -1. This means that I can't use <code>symlog</code> because it uses a linear scale for values less than 10. I am wondering if there is another way to scale the axis that will give a log for decimal numbers. This is my code so far:</p>
  
  <pre><code>ax1.set_xscale('symlog', basex=2)
  ax1.set_yscale('symlog', nonposy='clip')
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/RZPP3.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/RZPP3.png" alt="the resulting graph"></a></p>