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.