将 matplotlib 中的干图基线扩展到轴限制

Extend baseline of stem plot in matplotlib to axis limits

在使用 matplotlib 生成针状图时,如何使基线延伸到轴限制而不是结束于最后一个数据点?

函数调用返回 plt.stem 图的基线,

markerline, stemlines, baseline = plt.stem(x, np.cos(x), '-.')

您可以将该行的数据设置为 [0,1] 并使用 yaxis_transform,以便将这些坐标解释为轴坐标。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.1, 2*np.pi, 10)
markerline, stemlines, baseline = plt.stem(x, np.cos(x), '-.')
plt.setp(baseline, 'color', 'r', 'linewidth', 2)

baseline.set_xdata([0,1])
baseline.set_transform(plt.gca().get_yaxis_transform())

plt.show()