title: Python - How to plot 3D surface from scatter plot (with log scale)?
body: <p><a href="https://i.stack.imgur.com/cTfxj.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/cTfxj.png" alt="enter image description here"></a></p>
  
  <p>I want to plot Volume_norm as my x-axis, dMidP as y and Time as z.
  <a href="https://i.stack.imgur.com/wTUke.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/wTUke.png" alt="enter image description here"></a>
  That's the 2D plot of volume against dMidP, both shown in log scale.</p>
  
  <p>Now I want to plot a 3D surface plot using these data, with dMidP and Volume_norm in log scale</p>
  
  <p>(<code>ax.set_xscale('log')
  ax.set_yscale('log')</code>) is not working</p>
  
  <p>Here is an example of my dataframe:</p>
  
  <pre><code>df = {'Time' : ['2016-10-03 11:00:22','2016-10-03 11:00:27','2016-10-03 11:00:58','2016-10-03 11:01:39','2016-10-03 11:01:58','2016-10-03 11:02:23'], 'dMidP' : [0.000288, 0.000115, 0.000115, 0.000115, 0.000115, 0.000115], 'Volume_norm' : [0.464, 0.464, 0.927, 0.056, 0.464, 0.928]} 
  </code></pre>
  
  <p>so far, I've plot the 3D scatter plot, but I'm struggle to build a surface plot on top of this, and I cannot convert x and y axis to log scale</p>
  
  <pre><code>import matplotlib.pyplot as plt
  from mpl_toolkits.mplot3d import Axes3D
  FormatStrFormatter
  fig = plt.figure()
  ax = fig.add_subplot(111, projection='3d')
  x = df['Volume_norm']
  y = df['dMidP']
  z = df['Time']
  ax.set_xlabel('Volume')
  ax.set_ylabel('dMidP')
  ax.set_zlabel('Time')
  
  ax.scatter(x,y,z)
  plt.show()
  </code></pre>
  
  <p>the code that is not working:</p>
  
  <pre><code>surf = ax.plot_surface(df['Volume_norm'],df['dMidP'],df['Time'])
  ax.loglog(x,y)
  ax.set_xscale('log')
  ax.set_yscale('log')
  </code></pre>