title: Python surface plotting
body: <p>I have following table data(Please see the image)
  <a href="https://i.stack.imgur.com/6eNHh.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/6eNHh.png" alt="Excel table data"></a>
   for which I want to have a surface plot in python. Using surface plotting from <strong>matplotlib</strong>, </p>
  
  <pre><code>import matplotlib.pyplot as plt
  from matplotlib import cm
  from matplotlib.ticker import LinearLocator, FormatStrFormatter
  import numpy as np
  
  fig = plt.figure()
  ax = fig.gca(projection='3d')
  X=[2,3,5,8,20,30,50,80,100,150,175,200,250,300]
  Y=[2,3,4,5,10,15,20,30,40,50,80,100,125,150,175,200]
  Y,X=np.meshgrid(Y,X)
  Z=np.array([
  [0.2885307,0.269452,0.259193,0.2548041,0.2731868,0.4801551,0.7992361,1.7577641,3.2611327,5.428839,19.647976,37.59729,78.0871,152.21466,268.14572,0],
  [0.2677955,0.2538363,0.2380033,0.2306999,0.4779794,0.9251045,1.5448972,3.508644,6.4968576,11.252151,0,0,0,0,0,0],
  [0.2432982,0.2283371,0.2514196,0.3392502,0,0,0,0,0,0,0,0,0,0,0,0],
  [0.2342575,0.3158406,0.4770729, 0.6795485,2.353042, 5.260077,9.78172,25.87004,59.52568, 0,0,0,0,0,0,0],
  [0.6735384, 1.3873291,2.346506, 3.5654,0,0,0,0,0,0,0,0,0,0,0,0],
  [1.3584715, 2.9405127,5.096819,8.155857,0,0,0,0,0,0,0,0,0,0,0,0],
  [3.558062,8.216592,15.768077,27.386694,0,0,0,0,0,0,0,0,0,0,0,0],
  [9.537899,25.202589,58.20041,0,0,0,0,0,0,0,0,0,0,0,0,0],
  [16.083374,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  [54.936775,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  [89.185974,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]])
  
  my_col = cm.jet(Z/np.amax(Z))
  surf = ax.plot_surface(X, Y, Z,cmap=cm.coolwarm,linewidth=0, antialiased=False)
  ax.set_zlim(0, 300)
  ax.zaxis.set_major_locator(LinearLocator(10))
  ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
  fig.colorbar(surf, shrink=0.5, aspect=5)
  plt.show()
  </code></pre>
  
  <p>I get a plot like this
  <a href="https://i.stack.imgur.com/bTHej.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bTHej.png" alt="python matplotlib"></a></p>
  
  <p>which is correct but not very attractive or intuitive. How can I make the visualizations more smooth and clear? Please note that I have many blanks in my data. Should I use '<strong>zero</strong>' for the blanks or '<strong>nan</strong>'(not a number)? For the same data, excel shows a much better graph.
  <a href="https://i.stack.imgur.com/Zbnqv.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Zbnqv.png" alt="enter image description here"></a>
  I appreciate your inputs in order to make python plot more visually attractive.</p>