如何为点创建具有颜色渐变的3D图?请参见下面的示例,该示例适用于2D散点图。
编辑(感谢Chris):我期望从3D图中看到的是从红色到绿色的点的颜色梯度,就像在2D散点图中一样。我在3D散点图中看到的只是红点。
解决方案:出于某些原因(与我复制到别处的渐变示例有关),我将xrange设置为len-1,这会打乱3D图中的所有内容。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Create Map
cm = plt.get_cmap("RdYlGn")
x = np.random.rand(30)
y = np.random.rand(30)
z = np.random.rand(30)
#col = [cm(float(i)/(29)) for i in xrange(29)] # BAD!!!
col = [cm(float(i)/(30)) for i in xrange(30)]
# 2D Plot
fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(x, y, s=10, c=col, marker='o')
# 3D Plot
fig = plt.figure()
ax3D = fig.add_subplot(111, projection='3d')
ax3D.scatter(x, y, z, s=10, c=col, marker='o')
plt.show()
2条答案
按热度按时间h7wcgrx31#
下面是一个带有渐变颜色的3D散射示例:
当然,您可以选择不同值之间的范围,如0和1。
rjjhvcjd2#
以下作品:我不明白为什么你的没有。您应该能够将颜色设置为RGBA浮点序列,或者只是浮点序列。
但是,在帮助分散,我看到以下,这可能是相关的。