我正在尝试创建一个绘图,并且这些点用颜色条进行着色。
matplotlib.pyplot.scatter(x,y, c=time_color)
我有一个 time_color 列表,例如
time_color = [0, 4, 3, 3, 2, 3, 5, 4, 0, 3, 3, 2, 1, 2, 3, 4, 5, 1, 4, 3, 2]
不幸的是,绘图命令不接受列表来指定颜色。所以我将它转换为数组
numpy.array(time_color)
这给了我一个一维数组。
numpy.ndim(numpy.array(time_color))
如何将列表转换为二维数组以生成三维图(第三维是颜色)?
谢谢。
最佳答案
实际上,matplotlib 的散点图确实接受颜色栏列表。 例如,以下是完全合法的,并创建一个以颜色为第三维的 2D 绘图:
matplotlib.pyplot.scatter( range(0,10), range(0,10), c=range(0,10) )
如果您想要颜色为第四维的 3D 绘图,您可以使用相同的想法:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = Axes3D(fig) #Or: ax = fig.add_subplot(111, projection='3d')
ax.scatter( range(0,10), range(0,10), c=range(0,10) )
关于python - 在python中将列表转换为二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25395481/