Skip to main content
Ctrl+K
Matplotlib 3.10.0.dev759+ge90952ffac 文档 - Home
  • Plot types
  • User guide
  • Tutorials
  • Examples
  • Reference
  • Contribute
  • Releases
  • Gitter
  • Discourse
  • GitHub
  • Twitter
  • Plot types
  • User guide
  • Tutorials
  • Examples
  • Reference
  • Contribute
  • Releases
  • Gitter
  • Discourse
  • GitHub
  • Twitter

Section Navigation

  • 线条、条形和标记
  • 图像、轮廓和场
  • 子图、轴和图形
  • 统计
  • 饼图和极坐标图
  • 文本、标签和注释
  • 颜色
  • 形状和集合
  • 样式表
  • 模块 - pyplot
  • 模块 - axes_grid1
  • 模块 - axisartist
  • 展示
  • 动画
  • 事件处理
  • 杂项
  • 3D 绘图
    • 在3D图上绘制2D数据
    • 3D 柱状图演示
    • 在不同平面创建二维条形图
    • 3D 盒子表面图
    • 在3D中绘制等高线(水平)曲线
    • 使用 extend3d 选项在 3D 中绘制等高线(等值线)曲线
    • 将项目轮廓剖面投影到图表上
    • 填充等高线
    • 将项目填充等高线到图表上
    • 3D 表面图中的自定义山体阴影
    • 3D 误差条
    • 填充3D线条之间
    • 填充在3D折线图下
    • 创建二维数据的3D直方图
    • 3D 中的 2D 图像
    • 相交的平面
    • 参数曲线
    • 洛伦兹吸引子
    • 同一图中的2D和3D轴
    • 自动文本偏移
    • 在3D图中绘制平面物体
    • 生成3D多边形
    • 3D 绘图投影类型
    • 3D 箭袋图
    • 旋转一个3D图
    • 3D 散点图
    • 3D 茎
    • 3D 子图作为子图
    • 3D 表面(色图)
    • 3D 表面(纯色)
    • 3D 表面(棋盘格)
    • 极坐标系下的3D曲面
    • 3D 文本注释
    • 三角形 3D 等高线图
    • 三角形 3D 填充等高线图
    • 三角形 3D 表面
    • 更多三角形3D表面
    • 主要3D视图平面
    • 3D 体素 / 体积图
    • NumPy 标志的 3D 体素图
    • 带有RGB颜色的3D体素/体积图
    • 3D 体素 / 体积图与圆柱坐标
    • 3D 线框图
    • 动画化一个3D线框图
    • 3D 线框图在一个方向上
  • 比例尺
  • 专业图表
  • 书脊
  • Ticks
  • 单位
  • 在图形用户界面中嵌入 Matplotlib
  • 小部件
  • 用户演示
  • 示例
  • 3D 绘图
  • NumPy 标志的 3D 体素图

备注

前往末尾 下载完整示例代码。

NumPy 标志的 3D 体素图#

演示了在坐标不均匀的情况下使用 Axes3D.voxels。

voxels numpy logo
import matplotlib.pyplot as plt
import numpy as np


def explode(data):
    size = np.array(data.shape)*2
    data_e = np.zeros(size - 1, dtype=data.dtype)
    data_e[::2, ::2, ::2] = data
    return data_e

# build up the numpy logo
n_voxels = np.zeros((4, 3, 4), dtype=bool)
n_voxels[0, 0, :] = True
n_voxels[-1, 0, :] = True
n_voxels[1, 0, 2] = True
n_voxels[2, 0, 1] = True
facecolors = np.where(n_voxels, '#FFD65DC0', '#7A88CCC0')
edgecolors = np.where(n_voxels, '#BFAB6E', '#7D84A6')
filled = np.ones(n_voxels.shape)

# upscale the above voxel image, leaving gaps
filled_2 = explode(filled)
fcolors_2 = explode(facecolors)
ecolors_2 = explode(edgecolors)

# Shrink the gaps
x, y, z = np.indices(np.array(filled_2.shape) + 1).astype(float) // 2
x[0::2, :, :] += 0.05
y[:, 0::2, :] += 0.05
z[:, :, 0::2] += 0.05
x[1::2, :, :] += 0.95
y[:, 1::2, :] += 0.95
z[:, :, 1::2] += 0.95

ax = plt.figure().add_subplot(projection='3d')
ax.voxels(x, y, z, filled_2, facecolors=fcolors_2, edgecolors=ecolors_2)
ax.set_aspect('equal')

plt.show()

下载 Jupyter notebook: voxels_numpy_logo.ipynb

下载 Python 源代码: voxels_numpy_logo.py

下载压缩包: voxels_numpy_logo.zip

由 Sphinx-Gallery 生成的图库

© Copyright 2002–2012 John Hunter, Darren Dale, Eric Firing, Michael Droettboom and the Matplotlib development team; 2012–2024 The Matplotlib development team.

由 Sphinx 8.0.2创建。

Built from v3.9.2-622-gb01462c9ac-dirty.

Built with the PyData Sphinx Theme 0.15.4.