我有一些使用matplotlib绘制的数据曲线。数据的小值x范围完全由NaN值组成,因此我的曲线突然开始于某个值x>> 0(对于我所拥有的不同数据集,它不一定是相同的值)。我想在曲线开始处放置一条垂直虚线,从曲线延伸到x轴。任何人都可以建议我怎么做到这一点?感谢
答案 0 :(得分:2)
假设您知道曲线的开始位置,您可以使用:
plt.plot((x1, x2), (y1, y2), 'r-')
从点(x1, y1)
到点(x2, y2)
在您的情况下,x1
和x2
会相同,只有y1
和y2
会发生变化,因为它是您想要的直线垂直线。
答案 1 :(得分:2)
作为替代方案,您也可以使用plt.vlines绘制垂直线并假设您的数据是一个numpy数组而不是列表,您可以跳过for循环来确定第一个非NaN值并使用np.isfinite代替。类似的东西:
x_value = data_array[np.where(np.isfinite(data_array))[0]]
根据每次必须循环以获得第一个有限值的值,这可能是一个更快的选择。
答案 2 :(得分:1)
要绘制垂直虚线,您必须设置相同的x值并生成如下代码(对于虚线或':'使用' - '):
char name[64], add[128];