【发布时间】:2021-10-27 17:22:46
【问题描述】:
我正在绘制一个 facebook-prophet 预测,我只想绘制上个月的数据。这个“上个月”每个月都在变化,所以我不能使用plt.xlim() 将其限制在给定的范围内。
有没有办法通过给定数量的元素来限制 x 轴,例如绘制最后 1000 个 x 轴值,无论这些值是什么?
【问题讨论】:
标签: python matplotlib plot
我正在绘制一个 facebook-prophet 预测,我只想绘制上个月的数据。这个“上个月”每个月都在变化,所以我不能使用plt.xlim() 将其限制在给定的范围内。
有没有办法通过给定数量的元素来限制 x 轴,例如绘制最后 1000 个 x 轴值,无论这些值是什么?
【问题讨论】:
标签: python matplotlib plot
我想说写一个函数来代表您对适当的 x 限制的理解。例如:
def get_x_limits(data):
lower_x = min(data)
# or
lower_x = min(data)*0.9 # 10% below lowest value (if values are positive)
# or
lower_x = min(data) - 1 # a little below lowest value
# similarly
upper_x = max(data)
# or
upper_x = max(data)*1.1 # 10% above highest value (if values are positive)
# or
upper_x = max(data) + 1 # a little above highest value
# maybe smth like this
if upper_x - lower_x < 1000:
upper_x = lower_x + 1000
# and finally
return lower_x, upper_x
然后您可以使用这些值来设置您的限制:
lower_x, upper_x = get_x_limits(data)
plt.xlim(lower_x,upper_x)
我不得不承认我忽略了元素数量的问题,因为我认为它与您的数据中的内容最相关,而不是您拥有多少数据。但是,您仍然可以按照您的需要将len(data) 加入get_x_limits 函数中。
【讨论】: