我有一组Nx3的矩阵,使用scipy/numpy库。我想画出一个三维散点图,其中X和Y轴由矩阵的第一列和第二列的值决定,每个柱子的高度是矩阵中的第三列,柱子的数量由N决定。
每个矩阵表示不同的数据组,我希望它们每个都用不同的颜色进行绘制,并为整个图设置一个图例。
我有以下代码:
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])
问题在于ax.scatter函数会给绘制的图形添加透明度,我想要去掉它。此外,我还想设置xticks、yticks和zticks,你能告诉我如何做吗?最后,尽管我为每个scatter调用都添加了label="",但legend没有出现。请问如何让图例显示出来?
非常感谢您的帮助。