I have a collection of Nx3 matrices in scipy/numpy and I'd like to

make a 3 dimensional scatter of it, where the X and Y axes are

determined by the values of first and second columns of the matrix,

the height of each bar is the third column in the matrix, and the

number of bars is determined by N.

Each matrix represents a different data group and I want each to be

plotted with a different color, and then set a legend for the entire

figure.

I have the following code:

fig = pylab.figure()

s = plt.subplot(1, 1, 1)

colors = ['k', "#B3C95A", 'b', '#63B8FF', 'g', "#FF3300",

'r', 'k']

ax = Axes3D(fig)

plots = []

index = 0

for data, curr_color in zip(datasets, colors):

p = ax.scatter(log2(data[:, 0]), log2(data[:, 1]),

log2(data[:, 2]), c=curr_color, label=my_labels[index])

s.legend()

index += 1

plots.append(p)

ax.set_zlim3d([-1, 9])

ax.set_ylim3d([-1, 9])

ax.set_xlim3d([-1, 9])

The issue is that ax.scatter plots things with a transparency and I'd

like that remove. Also, I'd like to set the xticks and yticks and

zticks -- how can I do that?

Finally, the legend call does not appear, even though I am calling

label="" for each scatter call. How can I get the legend to appear?

thanks very much for your help.