title: Log function with surf() in matlab
body: <p>I would like to draw the following in 3D in matlab.</p>
  
  <pre><code>X = [1 2 4 8 16 32 64];
  Y = [1 2 3 4 5 6 7 8 9 10];
  Z = [1 1.8 3.5 5.09 5.5 5.8 5.9;
       1 1.8 3.5 5.09 5.5 5.8 5.9;
       1 1.8 3.5 5.09 5.5 5.8 5.9;
       1 1.8 3.5 5.09 5.5 5.8 5.9;
       1 1.8 3.5 5.09 5.5 5.8 5.9;
       1 1.8 3.5 5.09 5.5 5.8 5.9;
       1 1.8 3.5 5.09 5.5 5.8 5.9;
       1 1.8 3.5 5.09 5.5 5.8 5.9;
       1 1.8 3.5 5.09 5.5 5.8 5.9;
       1 1.8 3.5 5.09 5.5 5.8 5.9;] ;
  surf(X,Y,Z);
  set(gca,'XTickLabel',[ 1 2 4 8 16 32 64]);
  zlabel('Z');
  ylabel('Y');
  xlabel('X');
  </code></pre>
  
  <ul>
  <li>I want the function to have log scale at the same time the X labels have values of X which
  are     [1 2 4 8 16 32 64]. </li>
  <li>I want also to make circle around the
  values that are intersected with X, Y, and Z  because if you can see from X values isn't corresponding to values in the graph</li>
  <li>Specify colors for  each value of Y axis instead of having coloring range</li>
  </ul>
  
  <p><img src="https://i.stack.imgur.com/Fozdq.jpg" alt="enter image description here"></p>
  
  <p>Anyone can help even if I have to use another function ?.</p>
  
  <p>I did this attempt:</p>
  
  <pre><code>  X = [1 2 4 8 16 32 64];
      Y = [1 2 3 4 5 6 7 8 9 10];
      Z = [1 1.8 3.5 5.09 5.5 5.8 5.9;
           1 1.8 3.5 5.09 5.5 5.8 5.9;
           1 1.8 3.5 5.09 5.5 5.8 5.9;
           1 1.8 3.5 5.09 5.5 5.8 5.9;
           1 1.8 3.5 5.09 5.5 5.8 5.9;
           1 1.8 3.5 5.09 5.5 5.8 5.9;
           1 1.8 3.5 5.09 5.5 5.8 5.9;
           1 1.8 3.5 5.09 5.5 5.8 5.9;
           1 1.8 3.5 5.09 5.5 5.8 5.9;
           1 1.8 3.5 5.09 5.5 5.8 5.9;] ;
      surf(log(X),Y,Z);
  
      zlabel('Z');
      ylabel('Y');
      xlabel('X');
      set(gca, 'xscale', 'log')
  </code></pre>
  
  <p>The result is below, and as you can see the values on X-axis isn't right 
  <img src="https://i.stack.imgur.com/Fk5in.jpg" alt="enter image description here"></p>
  
  <p>Now, also Y axis not starting from one, however the first value is started from 1</p>