首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中绘制4D轮廓(X,Y,Z+ Data)

在Python中绘制4D轮廓(X,Y,Z+ Data)
EN

Stack Overflow用户
提问于 2020-10-16 16:36:30
回答 2查看 1.3K关注 0票数 1

我想在Python中使用matplotlib在4D中可视化大量的测量结果。目前,我的变量是这样排列的:

代码语言:javascript
复制
x = np.array(range(0, v1))
y = np.array(range(0, v2))
z = np.array(range(0, v3))

我有一个C,它是一个3D数组,包含前面变量的每个组合的测量值。所以它的维度是v1*v2*v3

目前,我使用contourf函数可视化我的测量值,并为每个z值绘制该值。这会产生3D轮廓图,即值的2D +颜色图。现在,我想组合所有变量并查看4D维度的测量值(x、y、z和与测量值对应的颜色)。在python中,最有效的方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2021-03-08 05:49:51

关于@Sameeresque的答案,我想问题是关于这个3D图表的:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt

# only for example, use your grid
z = np.linspace(0, 1, 15)
x = np.linspace(0, 1, 15)
y = np.linspace(0, 1, 15)

X, Y, Z = np.meshgrid(x, y, z)

# Your 4dimension, only for example use yours
U = np.exp(-(X/2) ** 2 - (Y/3) ** 2 - Z ** 2)

# Creating figure
fig = plt.figure()
ax = plt.axes(projection="3d")

# Creating plot
ax.scatter3D(X, Y, Z, c=U, alpha=0.7, marker='.')
plt.show()

票数 1
EN

Stack Overflow用户

发布于 2020-10-16 22:15:32

以(x,y,z)为轴,第四个是颜色的四维图可以这样得到:

代码语言:javascript
复制
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.array(range(0, 50))
y = np.array(range(0, 50))
z = np.array(range(0, 50))
colors = np.random.standard_normal(len(x))
img = ax.scatter(x, y, z, c=colors, cmap=plt.hot())
fig.colorbar(img)
plt.show()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64385676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档