1
我創建了一個同時使用顏色和標記尺寸以及獨立尺寸的3D散點圖。我添加了一個colorbar圖例,但無法弄清楚如何爲標記大小創建圖例。如何使用matplotlib爲3D散點圖創建標記圖例?
目前,劇情是這樣的:
之間逐漸增加尺寸的6個標記例如一個傳說:
Size | Label
0 | 'Small'
50 | 'Less Small'
100 | 'Getting There'
150 | 'Above Average'
200 | 'Pretty Big'
250 | 'Large'
下面是生成圖的代碼。輸入變量xp,yp,zp,cp和co是我在別處生成的列表。
mat.style.use(['ggplot'])
fig = plt.figure(figsize=(20,15));
norm = mat.colors.Normalize(vmin=min(co), vmax=max(co))
mapper = cm.ScalarMappable(norm=norm, cmap=cm.RdBu)
cc = list()
for v in co:
cc.append(mapper.to_rgba(v))
ax = fig.add_subplot(111, projection='3d');
ax.scatter(xp, yp, zp, s=cp, c=cc, depthshade=True, linewidth=1, edgecolor='black');
mapper.set_array(cc)
plt.colorbar(mapper, label='Count')
y = lambda x: (np.tanh(-x*50.)+1.)*250
x = np.arange(0,.05,.01)
sizes = y(x)
labels = x
# I can't figure out what to do here:
l = ax.legend(sizes, scatterpoints = len(sizes))
這正是我所期待的。謝謝! – DNadler