【发布时间】:2018-04-21 19:09:18
【问题描述】:
在使用 matplotlib 生成茎图时,如何使基线扩展到轴范围,而不是以最后一个数据点结束?
【问题讨论】:
标签: matplotlib baseline stem
在使用 matplotlib 生成茎图时,如何使基线扩展到轴范围,而不是以最后一个数据点结束?
【问题讨论】:
标签: matplotlib baseline stem
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()
【讨论】:
get_yaxis_transform() 才能知道它。简而言之:经验。然而,从文档中可以清楚地看出,茎图返回三个对象的事实。此外,查看返回类型并阅读文档中返回的对象通常会有所帮助。