I am having trouble finishing a plot in matplotlib. Here is the code:
arrays_k, arrays_v = splitbyrecordcount(ycsb[2])
checktype = [ "Update", "Read", "Verification" ]
fig = plt.figure()
ax = fig.add_subplot('111', projection='3d')
for z in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:
xs = arrays_k[z]
ys = arrays_v[z]
c = colmap.spectral(z/10.,1)
ax.plot(xs, ys, zs=z, zdir='z', color=c)
It produces this:

I want the time plot how you might expect: more “in the plane” of the screen as opposed to sort of “perpendicular” to it as in the image above. I have tried lots of different combinations of the ax.plot() part, but if I change it to:
ax.plot(xs, ys, zs=z, zdir='y', color=c)
I get this:

Changing it to:
ax.plot(xs, ys, zs=z, zdir='x', color=c)
…doesn’t help either. It just makes a thin bar of everything in the z direction at the origin.
Any ideas? Even if someone knows a way to just rotate the whole graph so the plots are in the plane of the screen would be better than nothing.
Without having the data to check I believe the issue is the order of the arguments for
ax.plot. Try this:So, you want what would be your ‘y’ axis in a 2D plot to be the height, hence
zs=ys.