如何在没有不必要(或冗余)绘图的情况下为第二个轴创建比例?

时间:2014-12-10 23:53:57

标签: matplotlib plot axes

我有一个情节,其中我已经绘制了我的所有数据和一个“缠绕”的轴,我想在其上使用另一个刻度,在这种情况下是日期。我还有一个与我的数据的每个元素相对应的所有日期的列表,并且想要将日期的比例添加到缠绕轴。

例如,我有

ax2 = ax1.twinx()

并列出x_temporal_datay_day_offsetsy_dates,所有长度相同,并且已经绘制了前两者之间的关系

ax1.plot(x_temporal_data, y_day_offsets)

而我只想在ax2上为y_dates中的日期设置比例,因为y_day_offsetsy_dates是“同义词”同时获取信息。

有没有办法在没有“绘制”我不需要显示的东西的情况下这样做(因为我的所有数据都已经绘制过了)。例如,我可以使用

ax2上完美显示日期
ax2.plot(len(y_dates)*[some_random_out_of_xrange_value], y_dates)

但这似乎是一个黑客攻击:没有任何东西可以“校准”第二个轴。

是否有更好,更惯用的方法来实现这一目标?

1 个答案:

答案 0 :(得分:2)

只需根据您的喜好在第二个y轴上设置比例:

ax2.set_ylim([min(y_dates), max(y_dates)])