考虑使用matplotlib 1.1.1生成的以下图表:
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线和图表下边界之间的区域 - 无论它是什么。
是否有一种我没有看到的方法可以提供图表的 边界之外的元组?
答案 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))