怎么用python的numpy模块和matplotlib模块把下面这些文本做一个3d的数据建模?

就是下面这种TXT数据第一列是序号,第二列是y,第三列是x,第四列是z,完成类似下面这种3d模型。

你好,你现在那个图是一个连续的波形图,因为你提供的是具体的数据,没有xyz之间的关系公式,所以只能是画一个散点图。假设你已经将xyz都读进来了,下面是一个画三d散点图的例子。
from mpl_toolkits.mplot3d.axes3d import Axes3D
#绘制3维的散点图
x = np.random.randint(0,10,size=100) #用你X的数据来代替
y = np.random.randint(-20,20,size=100) #用你Y的数据来代替
z = np.random.randint(0,30,size=100) #用你的Z的数据来代替

# 此处fig是二维
fig = plt.figure()

# 将二维转化为三维
axes3d = Axes3D(fig)

# axes3d.scatter3D(x,y,z)
# 效果相同
axes3d.scatter(x,y,z)追问

那能用这些拿出来的xyz做一个三维图吗?

能做一个三维的柱状图吗?

追答

我给的就是一个三维的图。如果你要做柱状图的话,需要xyz的公式才行。

下面是一个3维柱状图的例子。
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

# 创建 3D 图形对象
fig = plt.figure()
ax = Axes3D(fig)

# 生成数据并绘图
x = [0, 1, 2, 3, 4, 5, 6]
for i in x:
y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
z = abs(np.random.normal(1, 10, 10))
ax.bar(y, z, i, zdir='y', color=['r', 'g', 'b', 'y'])
plt.show()

温馨提示:答案为网友推荐,仅供参考
相似回答