首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中绘制二进制3D矩阵

在python中绘制二进制3D矩阵
EN

Stack Overflow用户
提问于 2017-03-16 17:11:47
回答 1查看 1.9K关注 0票数 2

我想在3D绘图中表示一个二进制3D矩阵(如果可能,不要使用mayavi.mlab)。在矩阵为1的每个位置(x,y,z),应绘制一个点。我的矩阵是以如下方式构建的:

代码语言:javascript
复制
import numpy as np
size = 21
my_matrix = np.zeros(shape = (size, size, size))
random_location_1 = (1,1,2)
random_location_2 = (3,5,8)
my_matrix[random_location_1] = 1
my_matrix[random_location_2] = 1

现在,在坐标(1,1,2)和(3,5,8)处,一个点应该是可见的,其他地方都是空的。有没有办法做到这一点(例如,使用matplotlib?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-16 18:25:21

听起来你需要一个散点图。请看this mplot3d教程。对我来说,这是可行的:

代码语言: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')

size = 21
m = np.zeros(shape = (size, size, size))
random_location_1 = (1,1,2)
random_location_2 = (3,5,8)
m[random_location_1] = 1
m[random_location_2] = 1

pos = np.where(m==1)
ax.scatter(pos[0], pos[1], pos[2], c='black')
plt.show()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42829643

复制
相关文章

相似问题

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