matplotlib 的 scatter 模块在 3D 图中的 "color"和 "marker"选项的行为不符合预期

标签 matplotlib scatter3d

当使用matplotlibscatter模块在3D上绘制分散数据时,选项colormarker行为不符合预期,例如 color='r',marker='o' 生成由红色圆圈包围的蓝色点,而不是仅填充红色圆圈。

为什么会发生这种情况?

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

最佳答案

问题中的代码在 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')

关于matplotlib 的 scatter 模块在 3D 图中的 "color"和 "marker"选项的行为不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45111108/

相关文章:

Python - matplotlib 轴限制了大概的股票代码位置

python - 你如何制作 numpy 数组的 ggplot 图?

r - 将 3D abline 添加到 Rlattice 包中的云图

matlab - 如何使用matlab在3D大数据散点图中用不同颜色标记一个点(我有x,y,z)?

python - 如何在numpy中将图像(28,28,1)转换为(28,28,3)

matplotlib - 如何消除matplotlib(pyplot)中的平滑?

python - scipy curve_fit 指数拟合失败

r - scatterplot3d 的 abline 替代品?

r - 使用 scatter3D() (plot3D 包)在 R 中绘制多元线性回归

python-3.x - 如何在 matplotlib 3-D 散点图上表示密度信息