xlim / ylim和轴边界之间的差异

时间:2016-04-16 02:09:33

标签: python matplotlib python-2.6

考虑使用matplotlib 1.1.1生成的以下图表:

enter image description here

ax.get_ylim = (30, 90)。当我运行以下代码时:

ax.plot_date(dates_to_plot, y_obs2)
foo = ax.get_ylim()
ax.fill_between(dates_to_plot, foo[0], y_obs2)

填充在y_obs2(蓝色冻结线)和30之间 - 这是预期的。我想要的是在y_obs2和20之间填充(或者当时图表的下边界是什么。)

如果我用普通foo[0]替换0,水平线下方的区域将被完全填充,但这不是最佳的,因为图表的下边界更改为0.此外,y_obs1(温度) )可能变得消极(不幸的是!)。我一直无法找到一种方法来填充y_obs2线和图表下边界之间的区域 - 无论它是什么。

是否有一种我没有看到的方法可以提供图表的 边界之外的元组?

1 个答案:

答案 0 :(得分:0)

您想要设置ylimits auto=False,以确保在更改绘图数据时不会重新计算它们。

ax.plot_date(dates_to_plot, y_obs2)

# Get the current ylims
foo = ax.get_ylim()

# Prevent the axes ylims from changing automatically with new plots
ax.set_ylim(auto=False)

ax.fill_between(dates_to_plot, foo[0], y_obs2)

# You can always manually specify the ylims as well
# ax.set_ylim((lower, upper))