title: How would you represent the following 3D data in Matplotlib or Mayavi?
body: <p>I have a large set of data which I'm trying to represent in 3D hoping to spot a pattern. I've spent quite some time reading, researching and coding, but then I realized my main problem is NOT the programming, but actually <strong>choosing a way to visualize the data</strong>.</p>
  
  <p>Matplotlib's mplot3d offers a lot of options (wireframe, contour, filled contour, etc), and so does MayaVi. But there are so many choices (and each with its own learning curve) that I'm practically lost and don't know where to start! So my question is essentially which plotting method would YOU use if you had to deal with this data?</p>
  
  <p>My data is date-based. For each point in time, I plot a value (the list 'Actual').</p>
  
  <p>But for each point in time, I also have an Upper limit, a Lower limit, and a mid-range point. These limits and midpoints are based on a seed, in different planes.</p>
  
  <p>I want to spot the point or identify the pattern when, or before, a major change happens in my 'Actual' reading. Is it when the upper limits on all planes meet? Or approach one another? Is it when the Actual value touches an Upper/Middle/Lower limit? Is it when Uppers in one plane touch the Lowers of another plane?</p>
  
  <p>In the code I'm pasting, I've reduced the data set to just a few elements. I'm just using simple scatter and line plots, but because of the size of the data set (and maybe the limitations of mplot3d?), I'm unable to use it to spot the trends I'm looking for.</p>
  
  <pre><code>dates = [20110101,20110104,20110105,20110106,20110107,20110108,20110111,20110112]
  
  zAxis0= [       0,       0,       0,       0,       0,       0,       0,       0]
  Actual= [    1132,    1184,    1177,     950,    1066,    1098,    1116,    1211]
  
  zAxis1= [       1,       1,       1,       1,       1,       1,       1,       1]
  Tops1 = [    1156,    1250,    1156,    1187,    1187,    1187,    1156,    1156]
  Mids1 = [    1125,    1187,    1125,    1156,    1156,    1156,    1140,    1140]
  Lows1 = [    1093,    1125,    1093,    1125,    1125,    1125,    1125,    1125]
  
  zAxis2= [       2,       2,       2,       2,       2,       2,       2,       2]
  Tops2 = [    1125,    1125,    1125,    1125,    1125,    1250,    1062,    1250]
  Mids2 = [    1062,    1062,    1062,    1062,    1062,    1125,    1000,    1125]
  Lows2 = [    1000,    1000,    1000,    1000,    1000,    1000,     937,    1000]
  
  zAxis3= [       3,       3,       3,       3,       3,       3,       3,       3]
  Tops3 = [    1250,    1250,    1250,    1250,    1250,    1250,    1250,    1250]
  Mids3 = [    1187,    1187,    1187,    1187,    1187,    1187,    1187,    1187]
  Lows3 = [    1125,    1125,    1000,    1125,    1125,    1093,    1093,    1000]
  
  import matplotlib.pyplot
  from mpl_toolkits.mplot3d import Axes3D
  
  fig = matplotlib.pyplot.figure()
  ax  = fig.add_subplot(111, projection = '3d')
  
  #actual values
  ax.scatter(dates, zAxis0, Actual, color = 'c', marker = 'o')
  
  #Upper limits, Lower limts, and Mid-range for the FIRST plane
  ax.plot(dates, zAxis1, Tops1, color = 'r')
  ax.plot(dates, zAxis1, Mids1, color = 'y')
  ax.plot(dates, zAxis1, Lows1, color = 'b')
  
  #Upper limits, Lower limts, and Mid-range for the SECOND plane
  ax.plot(dates, zAxis2, Tops2, color = 'r')
  ax.plot(dates, zAxis2, Mids2, color = 'y')
  ax.plot(dates, zAxis2, Lows2, color = 'b')
  
  #Upper limits, Lower limts, and Mid-range for the THIRD plane
  ax.plot(dates, zAxis3, Tops3, color = 'r')
  ax.plot(dates, zAxis3, Mids3, color = 'y')
  ax.plot(dates, zAxis3, Lows3, color = 'b')
  
  #These two lines are just dummy data that plots transparent circles that
  #occpuy the "wall" behind my actual plots, so that the last plane appears
  #floating in 3D rather than being pasted to the plot's background
  zAxis4= [       4,       4,       4,       4,       4,       4,       4,       4]
  ax.scatter(dates, zAxis4, Actual, color = 'w', marker = 'o', alpha=0)
  
  matplotlib.pyplot.show()
  </code></pre>
  
  <p>I'm getting this plot, but it just doesn't help me see any co-relationships.</p>
  
  <p><img src="https://i.stack.imgur.com/6vwnW.png" alt="enter image description here">
  I'm no mathematician or scientist, so what I really need is help choosing the FORMAT in which to visualize my data. Is there an effective way to show this in mplot3d? Or would you use MayaVis? In either case, which library and class(es) would YOU use? </p>
  
  <p>Thanks in advance.</p>