现在有n*3的numpy数组储存n个数据的三维坐标,和长度n的一维数组储存对应的应力,用python画出这些坐标对应的应力三维图,应力大小用rainbow图区分,同时保证xyz轴的比例尺是一样的,图美观
时间: 2024-02-25 15:55:39 浏览: 58
numpy多维数据存取
好的,我可以帮你解决这个问题。你需要安装matplotlib和numpy库。
以下是一个示例代码,你可以根据你的数据进行修改:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 生成三维坐标和应力数据
n = 100
data = np.random.rand(n, 3)
stress = np.random.rand(n)
# 绘制三维图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(data[:, 0], data[:, 1], data[:, 2], c=stress, cmap='rainbow')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
ax.set_box_aspect([np.ptp(data[:,0]), np.ptp(data[:,1]), np.ptp(data[:,2])])
plt.show()
```
这段代码会生成一个三维图,其中坐标轴的比例尺是相同的,应力大小用rainbow图区分。你可以根据自己的需求进行修改。
阅读全文