3D 茎状图#

3D 茎状图(stem plot)的演示,它从基线绘制垂直线到 z 坐标,并在尖端放置一个标记。

import matplotlib.pyplot as plt
import numpy as np

theta = np.linspace(0, 2*np.pi)
x = np.cos(theta - np.pi/2)
y = np.sin(theta - np.pi/2)
z = theta

fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
ax.stem(x, y, z)

plt.show()
stem3d demo

可以使用 *bottom* 参数调整基线的位置。参数 *linefmt*、*markerfmt* 和 *basefmt* 控制绘图的基本格式属性。然而,与 plot 不同,并非所有属性都可以通过关键字参数进行配置。若要进行更高级的控制,请调整 stem 返回的线条对象。

fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
markerline, stemlines, baseline = ax.stem(
    x, y, z, linefmt='grey', markerfmt='D', bottom=np.pi)
markerline.set_markerfacecolor('none')

plt.show()
stem3d demo

可以使用 *orientation* 参数更改茎状图和基线的方向。这决定了茎状图从头部点向 *底部* 基线投影的方向。

例如,通过设置 orientation='x',茎状图沿 *x* 方向投影,基线位于 *yz* 平面中。

fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
markerline, stemlines, baseline = ax.stem(x, y, z, bottom=-1, orientation='x')
ax.set(xlabel='x', ylabel='y', zlabel='z')

plt.show()
stem3d demo

标签: 绘图类型:3D 绘图类型:特殊 级别:初学者

脚本总运行时间: (0 分 2.916 秒)

由 Sphinx-Gallery 生成的画廊