In a Survey Design and Analysis course that I'm taking currently, we recently read a paper from Cynthia Chen et al. on "The promises of big data and small data for travel behavior (aka human mobility) analysis" (DOI: [10.1016/j.trc.2016.04.005](http:dx.doi.org/10.1016/j.trc.2016.04.005, behind paywall). Since plenty of other people have talked about the advantages and disadvantages of big data, I'm only going to touch on a data visualization technique I thought was pretty cool. Chen et al. created a 3D illustration of trip segments, tours, and daily activity/travel patterns. I decided to write up a short python script so that I could see my own day in 3D.

Taking a look at the code,

``````import numpy as np  # Need genfromtxt and arrays
import seaborn as sns  # Needed to make plots pretty
import matplotlib.pyplot as plt  #
from mpl_toolkits.mplot3d import Axes3D

def trip3d(fname='data.csv', locations='normwal'):
longit = np.genfromtxt(fname, delimiter=',', usecols=0)
latit = np.genfromtxt(fname, delimiter=',', usecols=1)
time = np.genfromtxt(fname, delimiter=',', usecols=2)
place = np.genfromtxt(fname, delimiter=',', usecols=3, dtype='S')
print(place)
print(type(place))

# Setting up the plot
fig = plt.figure()
ax = fig.gca(projection='3d')  # make it 3D!
ax.plot(longit, latit, time, label='3D-Illustration of Trips')  # Plotting

# Some labels
ax.set_xlabel('Longitude')
ax.set_ylabel('Latitude')
ax.set_zlabel('Time')

# Going through every entry plotting the text at the point where you arrive
for i in range(len(place)):
ax.text(longit[i], latit[i], time[i], place[i].decode('UTF-8'))

ax.legend()
plt.show()

if __name__ == '__main__':
trip3d()
``````

So there's definitely a bit of work to do to polish this up, but the code creates a plot which I saved as the svg below. The longitude and latitude numbers don't make sense because I made up everything in the plot below. 