我引入了一个双y轴来绘制累积量,但是0不在图像底部开始,或者至少与左y轴的高度相同。
如何将右侧的0点与左侧的y对齐?
def upload(self, cloud_path, local_path):
print("Inside upload of storage module.")
print("Uploading the {} as {}".format(
local_path,
cloud_path
))
with open(local_path, 'rb') as iterator:
self.driver.upload_object_via_stream(
iterator=iterator,
container=self.container,
object_name=cloud_path,
)
不幸的是,它与fig, ax = plt.subplots(1,1, figsize=(15,1.5*2.5))
ax.hist(np.arange(100), np.arange(100))
axt = ax.twinx()
axt.plot(np.arange(100), np.arange(100), ls=':', c='r')
一起更改了刻度分辨率。
答案 0 :(得分:2)
您可以使用命令
将两个y轴设置为具有相等的限制。axt.set_ylim(ax.get_ylim())
之后,您已经执行了所有绘图命令。同样,如果您只希望较低的值(0)重合,则可以
axt.set_ylim([ax.get_ylim()[0],axt.get_ylim()[1]])
之所以起作用,是因为ax.get_ylim()
返回一个元组,其中第一个条目是显示轴范围的下限,第二个值是显示的轴范围的上限。 set_ylim()
依次需要两个元素的可迭代对象(例如列表或元组),您可以随时对其进行构造。
编辑:
正如tmdavison在评论中指出的那样,一个限制也可以仅将一个限制传递给set_xlim()
,从而使另一个限制保持不变(有关详细信息,请参见documentation)。这是通过关键字bottom
和top
完成的。对于OP中的示例,仅将双轴下限设置为0的方式,相应的命令将是
axt.set_ylim(bottom=ax.get_ylim()[0])