2017-07-14 33 views
1

当使用matplotlibscatter模块,绘制三维离散数据,选项color和并不像预期的那样,例如, color='r', marker='o'产生由红色圆圈包围的蓝色圆点,而不是仅填充红色圆圈。matplotlib的分散模块并不像预期的那样有“色”和3D“标记”选项绘制

为什么会发生这种情况?

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

N = 100 
x = 0.9 * np.random.rand(N) 
y = 0.9 * np.random.rand(N) 
z = 0.9 * np.random.rand(N) 

##### Plotting: 
fig = plt.figure() 
ax = fig.gca(projection='3d') 

ax.scatter(x, y, z, color='r', marker='o') 

ax.set_xlabel('x') 
ax.set_ylabel('y') 
ax.set_zlabel('z') 


plt.show() 

enter image description here

回答

2

从问题的代码产生在matplotlib 2.0.2红点预期的情节。如果你有一个旧版本,这可能会有所不同。

除了

ax.scatter(x, y, z, color='r', marker='o') 

您也可以尝试使用c的说法,这通常意味着定义一个分散的颜色

ax.scatter(x, y, z, c='r', marker='o') 

您也可以使用facecolors参数

ax.scatter(x, y, z, facecolors='r', marker='o') 
相关问题