3D 莖圖#

在 3D 中顯示莖圖的示範,它會從基準線繪製垂直線到 *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* 變更莖和基準線的方向。這會決定莖從頭點朝向 *bottom* 基準線投影的方向。

例如,透過設定 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 分鐘 3.272 秒)

由 Sphinx-Gallery 產生的圖庫