如何使Python中的3D散点图?
-
22-09-2019 - |
题
我目前有一个NX3矩阵阵列。我想绘制三列三个轴的。 我怎样才能做到这一点?
我用Google搜索和使用人提出的 Matlab的,但我真的有一个很难用理解它。我还需要它是一个散点图。
有人可以教我吗?
解决方案
您可以使用 matplotlib 这一点。 matplotlib有 mplot3d 模块,将不正是你想要的。
from matplotlib import pyplot
from mpl_toolkits.mplot3d import Axes3D
import random
fig = pyplot.figure()
ax = Axes3D(fig)
sequence_containing_x_vals = list(range(0, 100))
sequence_containing_y_vals = list(range(0, 100))
sequence_containing_z_vals = list(range(0, 100))
random.shuffle(sequence_containing_x_vals)
random.shuffle(sequence_containing_y_vals)
random.shuffle(sequence_containing_z_vals)
ax.scatter(sequence_containing_x_vals, sequence_containing_y_vals, sequence_containing_z_vals)
pyplot.show()
上面的代码生成像图:
其他提示
使用下面的代码,它的工作对我来说:
# Create the figure
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# Generate the values
x_vals = X_iso[:, 0:1]
y_vals = X_iso[:, 1:2]
z_vals = X_iso[:, 2:3]
# Plot the values
ax.scatter(x_vals, y_vals, z_vals, c = 'b', marker='o')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_zlabel('Z-axis')
plt.show()
而X_iso是我的3-d阵列和用于X_vals,Y_vals,Z_vals我复制/使用1列/从该阵列轴和分别分配给这些变量/阵列。
使用渐近线,而不是!
这是它的样子:
http://asymptote.sourceforge.net/gallery/3D%20graphs /helix.pdf
这是代码: http://asymptote.sourceforge.net/gallery/3D%20graphs/helix。 ASY
渐近线也可以读取数据文件。
和完整的空间: http://asymptote.sourceforge.net/gallery/
要使用渐近线从内的Python:
不隶属于 StackOverflow