2012-08-09 95 views
1

我试过如下:如何在matplotlib scatterplot中设置/获取符号边缘的脊线?

import numpy as np 
import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D 

carr = np.array([[0,0,0,1],[0,0,1,1],[0,1,0,1]]) # RGBA color array 
ax = plt.axes(projection='3d') 
h = ax.scatter([1,2,3],[1,2,3],[1,2,3], c=carr) 
h.set_edgecolor(carr) ## also tried h.set_edgecolor('none') 
plt.draw() 

但标记edgecolors保持黑色。

回答

1

尝试指定颜色作为edgecolors kwarg到scatter。 (注意复数)。

E.g.

import numpy as np 
import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D 

carr = np.array([[0,0,0,1],[0,0,1,1],[0,1,0,1]]) # RGBA color array 
ax = plt.axes(projection='3d') 
h = ax.scatter([1,2,3],[1,2,3],[1,2,3], c=carr, edgecolors=carr) 
plt.show() 

enter image description here

+0

...正在修改的对象之后不可能? – hatmatrix 2012-08-09 15:58:58

+0

它不应该,但我似乎无法得到它的工作,要么。可能是一个bug ...我仍然试图深入一点... – 2012-08-09 16:00:47

+0

谢谢 - 如果不是很明显,你不值得。 matplotlib只是没有意义。其他类似的程序(R,Matlab)更直观... – hatmatrix 2012-08-09 16:03:20