jmquintana79
1/24/2018 - 1:23 AM

plot 3d surface

Plot 3d surface from pandas data.

Other alternative is Bokeh interactive tool: http://visjs.org/examples/graph3d/playground/index.html

import numpy as np
import matplotlib.pyplot as plt

# data collection
data_f = data_i >> group_by(X.dow,X.month) >> summarize(mvisit=mean(X.visit))
# reshape data
data_f = data_f.pivot(index='dow', columns='month', values='mvisit')
# data preparation
x = data_f.columns
y = data_f.index
X, Y = np.meshgrid(x, y)
Z = data_f

# create objects
fig = plt.figure(figsize=(16,8))
ax = plt.axes(projection='3d')
# plot
ax.contour3D(X, Y, Z, 50,cmap='viridis', edgecolor='none')
# labels
ax.set_xlabel('month')
ax.set_ylabel('dow')
ax.set_zlabel('visit')

# point view
ax.view_init(60, 35)

# display
plt.show()