gpt4 book ai didi

python - 如何连接 3D 散点图上的点?

转载 作者:行者123 更新时间:2023-11-30 22:54:35 25 4
gpt4 key购买 nike

目前,我拥有所有这些坐标,因此创建所有坐标组合的 3D 散点图非常容易。

fig = plt.figure(figsize=(20,10))
ax = plt.axes(projection='3d')

z = numpy.transpose(z_coords_row)[0:100]
x = numpy.transpose(x_coords_row)[0:100]
y = numpy.transpose(y_coords_row)[0:100]

plt.xticks(numpy.arange(-1.5, 1.5, .25))
plt.yticks(numpy.arange(-1.5, 1.5, .5))

ax.scatter(x, y, z,s=1)
ax.view_init(elev=10., azim=45)

这段代码给了我这样的结果:http://i.stack.imgur.com/KKw1D.png

我在尝试用一条线将每个点按顺序连接到下一个点时遇到了很多问题。如何将数组中的每个点与下一个点连接起来,使其成为平滑的线图?

最佳答案

如果您仅使用坐标就有足够的点,我认为您正在寻找的是 plot3D 。如果您需要更平滑的线条,可能值得研究scipy.interpolate.RegularGridInterpolator这将有助于生成更多点,然后您可以将其插入到 plot3D 中。

plot3D的使用示例:

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

fig = plt.figure(figsize=(20,10))
ax = plt.axes(projection='3d')

z_coords_row = numpy.sin(numpy.linspace(0,2*numpy.pi,100))+5
x_coords_row = numpy.sin(numpy.linspace(0,2*numpy.pi,100))
y_coords_row = numpy.cos(numpy.linspace(0,2*numpy.pi,100))

z = numpy.transpose(z_coords_row)[0:100]
x = numpy.transpose(x_coords_row)[0:100]
y = numpy.transpose(y_coords_row)[0:100]

plt.xticks(numpy.arange(-1.5, 1.5, .25))
plt.yticks(numpy.arange(-1.5, 1.5, .5))

ax.scatter(x, y, z,s=5)
ax.plot3D(x,y,z)
ax.view_init(elev=10., azim=45)

enter image description here

关于python - 如何连接 3D 散点图上的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37711843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com